200000
71934 113645
838247441 702866655 661221555 105624157 256045877 593417128 654105869 601428593 788581777 698570481 372636885 940505287 297714378 371599381 159854756 624142661 425267356 767444850 903312106 295708685 713052690 360067094 588170899 272142306 857362248 105273322 671227997 238801692 489863581 210688348 192276681 479930479 950475832 585687182 706779757 981616342 531853923 276902671 303494308 580676898 126044645 465938806 732346080 793577803 271703543 705838396 285071259 128045599 900578256 238365849 488002689 226010505 692688351 930317798 500124059 788653088 223873441 801296868 618912512 443447320 399560286 587838589 355996048 339565736 641498195 938659706 349680325 154420315 178826036 603954216 391084926 542693095 386886411 880762347 996936773 466385562 466385841 150319874 986915970 293599045 462570140 334106008 814883691 742789116 673897696 689934189 133533227 134617953 485621984 888056081 890096824 670492738 704449205 712234124 431388873 140688904 834370612 356483309 572153825 408388812 259545161 503523807 314786806 878686305 238045107 807368298 318499629 641823198 133723100 951763686 574623728 790446135 201987118 630095180 833881808 935632797 616280691 979794028 905351416 882191027 651828075 511557517 776488131 181477752 587886331 509859583 128058275 235851732 856319680 926755102 596469701 623357329 408349509 694086752 562166474 780142661 732095874 588394988 702288676 305969805 783294841 874422487 929418350 430808164 484141163 478473389 396369374 431351081 528480236 596226836 337180110 789549853 175537745 290804769 632996538 693766308 241579951 856970250 947100917 206289975 992377224 993380189 471338354 390687698 943665462 304422282 169166403 194863250 302791429 509397054 457088783 136261971 785411572 256210917 373011858 898727615 855740644 739039102 225754815 904272123 816681992 923973054 566427951 776350669 558991583 342558969 670100441 379147062 910325024 133102635 555055936 867694497 553960741 754259924 705384013 238426392 330614676 527120537 707315437 398978797 786367379 976046116 476802130 874316789 623649134 224698078 421085920 971121661 906172614 734787174 834767053 760802656 748436765 703000010 225047846 524948501 257566446 192777580 587074873 123349389 500036958 479918027 653045637 593932529 940572684 341002568 411705750 125216411 128648016 648702406 995528899 958369713 838039249 152047877 557964409 726171150 917366593 836936043 100216814 284909183 611561152 505742465 381773558 496222298 639565265 985798890 702225290 103147665 683564791 608408458 706996237 713475460 695698441 687540666 566271438 773217919 477835251 903414776 300639795 199581485 527365093 596990734 758225822 404987257 206012562 440172954 359576442 469607496 587060510 200135639 754483095 998774840 702284915 343164403 877550448 721506034 331177269 754223026 636356881 989859174 685020276 730062536 158817840 869875531 252815187 432444731 839044334 971367827 245862068 717130310 535588524 961264020 499629792 611841239 570501298 234705105 500307821 197288623 110527534 328780670 613636333 920357827 215848989 152608337 669329345 982916027 793928475 170517663 560275688 363642961 359087699 795096714 144005491 116250999 853462031 778624498 444356453 909158961 129762453 880185743 228461462 410740882 912962835 376317988 529979427 490612358 468150179 848384116 237300548 601870912 292312439 930390855 995276636 934080620 417805634 222234952 304362484 768761740 261323434 976809973 404201791 188024762 843098512 886459785 636831255 440003280 896917695 796654245 262303649 530923820 727274908 583472706 315995196 154020269 171891036 764436151 690248787 741043521 928140445 638034463 844977798 944599048 667788106 848840408 532324940 126245317 287786660 714155821 726666914 711610460 693206511 162588702 945857172 477281860 403503800 503648078 310698973 562574244 566681802 485333268 778209073 478871936 556651002 572836387 850275274 617252256 687357995 264818921 936957309 444200803 662336222 935290799 726505967 453228179 939076506 238822647 116251573 502157158 859284899 211316098 452962924 121791392 224722079 918267243 395263612 644615877 226710684 715212921 614429927 709105634 739228796 618353540 690011467 455390035 602577643 767582196 572789108 200918977 760509417 883966151 433053227 143409888 729746799 937908109 947634656 132407856 463878271 397855003 406051465 648547733 911186370 672151741 131374015 980740282 857737783 846064157 544270747 284333029 408947273 542787673 472739947 386147730 622637659 442474525 861316226 323960189 487964157 366953891 569246924 755493425 953676681 344447016 982530562 326130001 460517953 241514736 574652052 728090189 379349126 234545658 966057184 272901709 565891925 717068217 563578004 737974164 568440352 341082404 166882024 183999104 696389565 254969492 441029169 770517563 839116325 783032363 923265979 184653447 746563716 152172043 848729416 873521146 822522185 530413614 816872247 113712590 162322529 309545884 666095262 435949507 334614715 981902680 304730096 991683633 467433006 811563437 476756001 651378811 903915332 719836175 868480761 577457388 142340730 882686875 487067114 645372018 885923634 682175367 571181439 343817926 100851921 850740909 618503461 625713434 817736578 576704580 651421970 874297239 552138997 737947399 458000922 580162422 163117385 214824672 581828260 364183054 599374722 293793862 536404339 143472919 731628584 483854298 746620679 393514649 300340129 135213101 527131500 175170478 421723902 552144759 326098257 180233260 779915182 498529998 211318163 718526302 556719541 718565659 779515035 316777331 234723963 387502639 752861016 301247756 416333577 364612481 180946639 964916972 133461591 998408000 117557310 717734569 975164619 116808265 128285178 209308471 785371722 944904307 102633180 904518122 423301888 842127029 488768523 628416922 373745140 372682144 958918517 914329816 564435620 725321478 431981549 924275695 780887677 297383443 126583713 410409291 722125544 293344160 933362518 527889772 321531346 953090529 296265704 130689768 751641834 554350909 466256235 602823391 530818911 207650235 994599602 314899080 622693342 254304856 920225380 932712401 815072363 196334422 895380462 791364757 617553782 257129672 514714937 874099532 359469591 652356555 235723288 559999382 695573399 862742892 187444363 143432984 768597990 834969730 807201321 775288149 129582524 335501154 255139774 249750732 269454388 294384202 575862423 543301177 949904915 972027198 674827969 548448163 297606084 194034728 163198489 102272266 629494561 256390132 955732024 976975001 258253229 404820623 743746066 783489814 691567881 961633568 474759765 815285160 355410742 801664348 892595642 112757273 907415521 199547600 707531671 796108153 209045912 554958212 114273003 106375152 315787977 530815730 533530819 149528902 499332125 780538861 437100932 585525281 536832134 400569498 266003729 984658543 758957936 296368842 728287773 350388397 165243261 908083439 837598608 391081191 997542034 739903786 558641790 113239479 230258803 470483531 247157774 900842750 814072387 739790391 399753912 472939290 967201628 437672085 833098637 705534019 552703740 365451112 458155114 541910321 727357651 307228626 731504762 554684407 729858840 387513692 446999553 470254627 541569598 164891922 692425983 123738663 620274398 615602741 123984305 378029670 440880913 775942691 172696300 748362872 671291651 531281337 464513897 102510539 256268289 168450393 414446386 922259631 615234762 662977910 339630512 247061987 583465125 913213185 758120461 837495742 830625468 158293016 259454544 380090725 658409316 170824439 543033471 903149743 123546893 872082254 771537289 732118631 732915087 389371777 240026711 131098124 388079217 853395287 229503996 893748667 943630234 909196709 793318312 327779417 711350934 675611853 608891134 954632820 389635039 596680610 290439422 808618180 371990933 722170396 569409747 699133280 813600950 240178367 838133620 664386423 857945062 770428325 216755614 998005092 916990848 138174564 770243421 411632031 659198612 995388728 863791112 976867272 662699904 862483906 900940285 148564986 889885778 327945826 790472815 220572092 586711377 152460549 893513321 639867081 858197193 820782805 850165917 455502381 960720494 768404444 353965575 407425638 700161663 672265435 366387136 433982316 579707087 371397338 887713360 797851649 327910307 825221714 821674938 921367374 463527515 724805793 386796435 191339730 898406370 643323478 607542375 456595332 106549619 268338545 239075598 650548889 697817050 961901455 599649365 928450667 388739076 227088900 552615788 142961159 191379983 979289444 242552595 519495481 367993133 457458202 788931080 774157746 212829791 469472003 404816049 847853037 584461759 685878449 849243512 660663428 855081099 669211934 737156350 297102464 369210475 489148503 143486811 319755765 895046601 278501595 229717168 461116890 199554837 142410474 693716837 543849482 394083643 743582329 436492547 852440363 998480974 415777829 574817380 515673524 407396804 714402764 788084857 801262225 695668010 801073683 185205915 229518118 147065925 645643594 894244339 930238300 888237351 699291646 278013794 303441050 724472550 631045513 997178490 844660657 300847373 880783358 946648028 735966190 254123543 664128902 735723747 619771988 712396307 318715750 526885305 128417150 758684524 302876195 406503834 635141193 792444389 378654106 748231789 957341599 276759698 686397528 551189880 490323633 407008681 854255041 898987778 140478632 852211506 970481965 392373560 400747678 244451002 383599222 485512072 656962746 166866855 974999869 902600232 169567721 794646785 387245908 393795504 948439787 127710192 743208458 336528332 967875870 893373535 401430611 447888397 950475823 517551061 144032586 424191482 333483868 339970595 502289159 760838072 120990714 279278488 142807375 251167222 284712274 489739199 189623655 896375040 918827966 641918998 319836337 627082135 797182931 509308460 277345930 153626663 390384653 706227779 263820775 248486076 595583102 414710389 357811929 911648375 537561043 992270879 897581404 485433108 935561720 471105260 898073763 514053084 804750791 808469497 979983333 712129108 886970908 176123751 505792869 440045931 435300859 239802604 268272917 912984501 998286308 999309429 167885459 927495766 956063737 818924298 212378350 904535501 574331305 367331407 206478283 146301616 152115894 423457532 755190150 878538394 137477527 291610739 350761562 115082650 988685687 400926782 842104419 928177781 619185201 825974629 697889362 835632990 434731758 729368602 692001615 731571829 389141430 306468747 846289191 124452200 752371706 229698156 476415061 596356518 435786230 368728993 159382059 986699631 662188266 384367617 779042349 179965151 898196981 438703065 864808500 472070604 747886547 856540149 283501575 207837058 687380577 982616415 752698240 849734000 482911343 596933949 853276874 604675533 173637137 630469517 839064553 954649140 438544900 934615785 822285153 788852122 393392593 208938727 409191648 795849706 875820738 324803925 737222650 906672362 307894326 280968156 584087762 100777721 540241198 989916830 799593238 884240809 729638919 484154986 611798559 731899078 922674708 159501404 518586114 766829384 186354958 555831871 101294902 617675290 197256344 965812300 415859995 879172556 843747445 298965324 731696711 188944614 289629728 549944714 975935877 642313149 777351614 193218578 263365209 876172728 708663365 951493353 512293806 275793868 238441233 979064928 581391710 350739365 595150988 116536615 689794124 178655275 383659960 526809903 566571801 640540405 750475920 825158696 897534463 617531557 965371408 136781919 707016762 510149968 836533454 603254992 837621735 473518637 960882550 410446653 649643204 146891007 798168131 944592805 320417596 143908862 448382627 437523351 601294287 591783176 605356703 113963867 720091797 414511607 565911107 282528717 539242727 128400405 938253117 209119066 612163382 301908382 357688689 718803557 442962991 655431360 573965998 819703351 480469092 455249527 154173139 672412906 618711844 128289845 805396386 942230229 723070781 438596432 710421441 874407710 622668862 848595088 706215569 461440448 511114113 972425744 225813266 257017469 491162260 436291945 228818264 729597866 889926344 255426407 580508883 854833151 458640200 185119066 920237810 966410732 935689287 128528504 964123938 474944147 103034362 177748531 146843101 918164945 372333540 289474792 446266631 461455344 251404415 843562061 291693064 319237741 643161282 625310870 975310875 625237556 247005723 112823970 949693220 481436482 516974714 187727547 839127081 953545712 640759395 989275055 427302243 256331823 590975722 124097270 282729704 723384782 257768378 959805538 418796595 117962674 895925763 961075975 411835250 612931987 696377095 584088349 657554064 191455121 597929160 863849220 727689007 827929801 815146264 302557437 577212871 689626594 698820639 468520708 909056951 335433451 877638871 251033660 153170744 328062430 182279905 796449627 809526938 556829990 588202396 494393723 910234439 247785344 111107427 961331193 579835228 993207500 350060455 945774972 242923129 453234774 351123747 726752376 677171811 227680626 845050427 428855466 186663592 146959903 367038739 216774772 445568163 510225443 811210328 296521066 639684667 302537054 631527771 946893111 517785795 118953352 641012671 359107834 896412295 662929021 827186045 105739946 610256413 395490304 868185031 457330974 900004497 658724309 721557705 672360848 160067019 241556467 327886937 931940919 610782773 222082883 884917634 766202487 728200897 751050964 455949260 770162764 158242383 709754661 777177485 836248689 718045016 949289261 434454219 451811599 781229847 680197865 276094543 958806161 576767835 958265980 319326595 943419175 217412888 185291077 450568086 873603352 568490275 148322757 387671329 126510948 641050085 691764398 116554991 990508133 573379752 544317915 330722806 614073042 318116763 417935036 809558088 302430790 911107084 317307056 270851582 845233164 111776193 962988748 172259364 200208130 225142476 224627093 219997587 764999278 291750236 667474048 565861582 517137615 939427705 802848861 316000619 293297634 940066905 386457610 990246538 601722693 623873237 209242610 150932578 179040306 514559960 111774196 399149111 317060968 875212160 939206389 481960029 467424831 612908550 147660265 610227583 180883902 800857091 333575689 614082229 398228310 289440918 337367970 223325605 770391601 143646104 260004579 711246834 482425813 965732935 517606947 476920282 250736870 658752654 484159713 161188236 468238717 881312204 630186260 592383776 830489671 772159477 830642287 305778459 652052025 734371585 359163012 550901096 433015697 284254791 584358389 783490633 139125878 727925009 375574742 832890056 943474495 841006447 332879565 186925583 425131973 854155608 238335567 438776807 486477647 776616316 900308756 742521009 205574151 821230781 333667720 229414306 891556926 487562884 843678782 766413340 889383008 207884633 976567195 683485895 606810176 787499728 859167697 557862236 426289085 934362169 899259634 113535176 652010947 386849880 500379141 676763693 856848656 581056518 521051984 679007141 918036373 495410962 913133680 716817240 708865859 690197635 880022790 117506099 476036083 102846334 256267469 601667585 242551438 681817937 525108749 458267818 107126310 997526898 816570284 870164888 899814514 478077196 510824458 831120095 491395673 428021797 103804024 655887708 490241075 336472142 862428333 886226058 345550424 672608443 937664416 324561895 421760907 679322616 432061404 862321768 598984111 467319707 608474900 596784387 122883912 422471169 943618321 998539508 453562462 133838217 501388357 433824343 170133249 845465109 683209283 554593229 282628206 413464811 802916501 786225256 429329163 169205408 490377523 956648728 848320566 942534282 237177076 176467840 845030152 350003899 619329509 264577504 194714974 815119270 886579030 475981413 498851620 686356319 352506899 289184851 293023773 500315197 177663383 853755209 304097261 237557135 531074122 742668029 376736320 986035852 696957459 727556078 149458260 459525569 692715149 302469332 241681878 886145225 685739924 847242695 292543156 758770582 348561578 901726266 172210756 497748068 394498137 683068404 171747284 291629362 222397364 928939666 436225087 593890482 769182599 824446993 892988696 729478274 172040163 787590275 620015380 860902032 265165549 711629741 754536840 226389961 825339200 203507731 862743435 577320148 804922461 811671089 387684599 248528624 627804254 610619075 530351424 165338533 877422714 684293975 747030174 192329371 310711299 458888409 577192419 357463593 574966931 120038493 863043566 431958590 737030067 718114501 834490781 585958931 741297278 413681231 285624056 182390721 376847164 488046849 137773535 124719544 421658091 775511838 199503139 131939226 252054724 225096389 683479096 894985886 195622064 357027779 184866930 756367424 989966814 696495392 400672683 661031237 715655931 222250700 855904149 270095893 547433049 681676234 242347249 529942486 942179389 459876270 779370031 643254744 777164637 120157195 670594415 757988707 904226977 545805586 411309251 723375319 569225426 820566433 622371081 297523687 427496470 988777161 267170109 474268436 715010504 788538794 681154927 179838657 824935225 863964248 374721040 837556131 529275321 153881026 850320919 235060044 299490116 855810724 174225713 537047124 599769063 313108191 700727783 639770356 363134880 859394299 678856278 772277633 979400647 440006616 996366503 963709892 992230975 264289921 411330653 256564673 821845251 816048691 705727590 823935668 176516846 729611087 143748476 416046622 129920616 629262212 806325735 157430191 549252454 658278063 689086063 863271964 159804034 110834253 761144379 681377846 897134015 148922430 143506423 947062295 494942791 590492978 282924852 286926245 613688944 694040997 462447405 329340817 131293705 174782302 699089004 946596317 358190364 411571871 304047244 893461772 842754940 978818830 357057972 907747030 627937554 449512041 477548808 385874632 451604061 417269969 508868299 905960607 511954522 742362716 793166316 612668210 492453758 449797006 282096222 978342357 660918500 615707119 574862484 471916580 381575145 814287910 885563254 268016482 404562162 189611075 692008288 455815076 413372778 694653283 267015994 583932783 539072641 509779886 162366309 824817011 668142251 727040204 793240853 147499828 889210676 711541540 967288939 173754094 461712723 354429044 510894004 785308630 807362769 755127928 240490106 445387166 326110524 837308382 358301990 806618894 600576583 428361768 609165829 731750938 204972420 309902613 381209537 110599511 793535728 415962789 736999553 901407689 830767865 225325258 781043287 125618715 778766265 243746661 434109881 997989126 374215539 626715357 498214014 732509595 977601579 991448615 518777698 798485614 994017392 121845604 536993819 471351916 458069686 597094463 768147045 323258436 251837389 196080932 529009282 343084861 997496924 761444330 887626912 694675686 928058591 148020994 960438502 973671353 240099557 313137933 706440924 515058668 267036704 570251925 921370221 726461277 473987775 402910846 944454978 953483906 814702505 697301826 549886045 414327958 880131790 540037499 355074798 339292010 847617119 697005757 851178289 251105088 686477877 102462519 763775652 797115460 117640040 855614721 976984912 222038987 367619462 916677179 306185842 469424938 835806079 157822905 192527840 531866056 280749567 717623509 847878549 332635039 466667311 511489065 630275829 378930953 478748626 813621699 566654449 554026450 909223202 232276214 708826338 463025040 532320856 944947965 229701223 141590615 506125426 227471214 223583104 674267796 134408171 174255260 718117468 997999339 994887202 176078450 435572796 584274094 825129569 949737119 481709262 407221156 319199536 142448304 572919499 531121370 600005274 449013525 679510659 171499554 782962708 243265644 968555671 525927038 626849047 199039966 939325238 453625593 485437771 571763296 750123602 378021548 854667647 628944103 191146986 718957811 699070364 249507851 767063215 723422005 668290374 341629040 750972823 695700722 150156689 473944929 181299689 332357835 182061049 982425669 888476758 159806652 615844827 726446658 215245488 195624122 764398321 886504413 456215951 875178022 994520119 293768580 658116825 593432152 118599399 621511328 186718882 537331229 669625033 877330136 375476566 970216431 571136910 324138373 687032379 327505372 151979801 890665268 263193248 132918668 938467748 533097734 336772943 365765570 385675170 392525642 633367540 320313086 541401385 915730116 573094386 818132976 982023847 243406693 976214958 239615010 690905661 706219296 691348216 442306775 768697693 359844891 395925893 586438816 213140075 117663782 459796488 726815214 352231444 814176593 635675863 470812775 149893593 364251970 223273672 167717459 783253559 489729834 567065843 780664904 426099614 353945172 576006129 177184180 112210181 260650674 286662187 464222121 575837989 361394426 488222888 608988188 154080624 593437178 614221095 914920630 324731996 448207064 548238392 501968098 518406909 377167104 757542943 849554162 926861760 415807013 603592678 808743211 808719261 857083388 485171599 673827162 766291261 595978034 931253514 732175454 619851292 911097418 522427302 834525577 787081570 407504429 201139727 734855740 741543471 275594956 585399638 587297032 334147214 608137255 774636170 568770357 511422997 878810528 689324639 385543181 429015541 297331734 981525993 941776550 472399717 781443515 971506594 444175303 242742605 615517309 791829937 885796062 798755485 846826600 137567893 430177989 483710642 260366981 548730434 868968215 665460462 325526436 528448654 421919578 777309427 595917839 755786909 707332144 815664803 649666917 499340627 669218398 869742569 516651488 184524537 570984506 565543340 563596485 343401171 636769406 304100555 111840639 612270108 222905965 557394531 776473847 523291243 114192585 412154740 915200556 137145364 941111996 211671954 260461155 131316913 655293532 780251039 137712251 915115171 365973569 595129523 219490351 242742897 654224031 815613911 577385784 148901877 766934166 523561596 792670078 592396790 938897082 107062404 176522029 217477713 728826583 770199048 824986597 247673374 366037354 758077968 557094251 528651371 709653971 730816427 530639218 830888200 324443548 460236532 281744651 912930600 722366515 418467971 336763304 630717558 941447169 712763146 183117217 587995902 677804322 511133700 416536069 561255134 661071475 559873952 184352031 227990490 775408969 213880719 112936961 639245492 488947181 667765512 164086388 342102809 413853313 920416042 770798229 503621392 335580796 313841467 461791110 460914074 521943495 393041324 795040110 641347887 672114852 539030238 836929995 969966200 791847458 571076799 483271908 396726942 192569227 519859905 344597549 165338899 234363918 937655955 167053566 947570110 110543543 840713481 307219524 521888775 524092076 988607789 182834595 523868477 287556042 800322703 474441411 826762882 951006250 259694323 715251517 665132505 707901649 814416751 538922140 504983500 824164082 347057317 863092848 130391270 603285545 106276855 592271428 997414595 644202901 234070828 103840885 744303292 951786334 591725981 297710870 174458805 580990199 475764481 436891319 333181235 488198833 444069291 739935210 589010597 386025749 106331787 204622099 874761025 158152634 767601622 579608242 380764527 536902197 244904239 906912600 965927041 418676755 522280990 548631947 320145463 665131875 818563935 405985188 761262267 636034960 809379059 377390774 571396003 758832874 591061504 219516563 404011369 223137009 348895183 438713273 301715359 512870890 201374095 361483320 894692699 222007485 789035728 856359940 723395345 458605569 882762185 563968993 384012791 970462575 171611219 838541168 985487772 402599200 693679222 721421404 320204022 720116176 552620506 702304666 656849553 230674820 654300705 645642593 659094361 869758218 889698471 689629956 614400192 943534562 529842215 366665393 903882844 657464519 985812849 274595891 547614932 618408253 540437925 691537439 574166365 379355884 643049738 255171412 146669682 178390653 670093071 184406702 892603143 612624882 261184903 455183729 106416542 290203932 191766582 565656946 650597130 473816642 480633988 837379912 732534298 301236448 799748281 247322441 489060801 543330850 153370542 601452075 386616550 591272641 762679683 463316893 256644143 219660563 734792881 271128347 684182558 341833722 691668535 706800132 744877930 365833344 723100244 895397276 241984858 366545895 545853073 676932475 823316372 704105077 849296749 341502224 733920568 824428657 841649615 660913960 905193840 969520336 697033512 479692198 711309343 948107840 813484297 274836853 305041046 454706042 614474377 105911976 375084947 719936068 448794676 983212350 521851886 696369682 701780491 484942154 293270039 691871105 814734215 610041461 223296232 504624350 936293355 223096550 281127979 444488123 218170655 448138844 541208218 688588906 428151781 658968974 546224137 431652864 148454039 730886755 707725201 279036104 838154099 292848409 127956242 580917755 625849836 305170613 203624645 743001198 774860479 859351686 815035854 735127565 394941710 255733175 952064295 686862043 926032411 754652979 962316417 483863805 724382703 768169149 274594656 254126037 186747136 480264510 919320690 159299783 579895432 930442735 401229590 570842924 969253917 490742173 968401863 282071515 340530242 408531031 380869395 458219669 737604825 870362590 254390098 299117820 983052106 865896718 855944144 841628183 776142789 700532909 969166344 598190729 942592787 180200975 431370454 182660273 646236818 194708481 372511386 372987648 881373162 645134679 707348905 158970013 629743554 315130121 191105881 675834852 902204419 234938779 956271955 415248705 513125965 703265984 565726981 866674959 162455668 597637559 977536840 663154229 712209358 419995673 874135142 648447915 510625811 622879551 146443902 983986128 165926809 867423127 776588925 712932447 805513670 559228007 579251638 443947452 190260595 913502230 274806233 248033769 768618113 275310712 860538755 695422056 663902267 592509419 250481690 470198313 674775258 146337989 615940295 727179712 202934516 986346026 280468720 556967991 177339649 905566124 952669590 478501461 815838937 637051976 308377779 341631258 221509841 784145402 583943368 769678136 727254268 819817691 840106281 953801729 710107136 713919264 417781234 619151950 181793164 776654517 329433427 883572737 425286135 875039799 997635347 190613901 344359611 660867575 436687668 250601421 117027395 874566282 942415374 294162160 805620002 875413539 682760872 821799194 177914191 131776202 932931330 231653078 561952639 951857393 950177620 771270911 317078273 347437745 174720584 437613881 274044329 217809153 383285701 764163077 818656979 614177123 441011610 132115295 125409946 994593957 839680470 976392394 670283220 747413034 422015463 450868743 610095118 337690849 711978387 198111027 571442877 525489946 680888892 429233058 996827176 104799128 667745926 729803430 428544269 415029185 279214050 939654472 625007915 796120540 279126598 285820847 251549763 453352484 779105168 700079528 753203599 586318418 984867508 964846452 491255902 903155598 700978115 561727509 657089447 703156875 369430084 277138986 143994270 781232987 402861689 147175842 623637458 141259166 503465817 145031668 985348011 218217355 399421688 365984774 198348918 138169752 650644002 676671717 829809333 377501149 897059518 270739290 167720954 276954591 926654924 216612686 209471249 408855267 473880447 613130673 123987840 629571047 598996433 915230159 640561827 786344942 192959533 991240329 674267633 905447198 653601591 387423216 597856113 231571006 681376104 986618115 658154352 107535170 433071894 900869875 526560549 910618281 829250824 393452587 516437034 976623600 401057396 726969597 732140644 816109461 327428778 373427909 741380935 811380476 544715027 632570181 527109728 138015945 653529319 760751411 936082027 609655090 212624745 170025974 976674584 945460253 413515655 559631544 855215756 873520737 879460256 656151288 205156806 114693481 165350057 782829063 237969054 779871896 125310606 584474059 627693694 573175694 166167921 154355548 965564318 211231133 494604444 495301697 793951675 931065454 998153412 772237343 256641495 196882190 274939519 759672451 822850932 873986280 620685702 245833491 536870396 691304578 858391559 864450921 899785701 364459921 343618098 970298151 942467698 518370798 133313947 471863036 880414717 363758155 621819717 588309309 937715970 749567877 436329932 162062497 483243059 607191146 805521537 412213176 962567219 180028851 411802561 115500841 214398513 893530753 317403836 346568649 317836248 241474588 495863104 903581889 436139352 785110654 876272984 626835917 872855644 479265690 854286429 431751777 585942164 653634398 142238837 854195134 989246709 481512071 823059466 170033616 326485654 870665794 498790145 415074849 940618034 500691584 162157324 659071934 262372750 503390295 408096401 444751739 882642805 874221853 117194824 905263072 516227058 527773975 625031856 398232524 387873863 786492411 543526079 979879135 204003747 380594735 835952848 685624410 854857525 264329925 119889732 421012906 859199846 359717845 694825860 256970018 122805170 180323359 916964132 472179624 928417454 296800340 807412949 598104246 702209325 366352040 799703271 414616836 794100635 337076596 632237157 297972224 545828670 943186930 925864325 229019568 166358967 867741329 755359070 247163951 632246247 746753214 111166424 876325996 831364425 806796436 978504704 284468128 896939600 438695031 359635421 279787755 423103560 132183408 391615573 829412202 458407332 624668778 300337015 872372285 972688714 818554431 422387845 419293504 631452495 912652342 235665082 192512449 464735765 163028429 409067538 267345354 249322120 931764311 163909708 323971589 697651507 750186218 389939020 739076391 737113207 707171652 628655589 738124616 512207483 388526451 286319430 370162073 947020636 613991348 584666997 553029591 667877277 338690214 680937651 633451187 822175127 878144859 288618655 585665543 670417858 283583456 509043182 925429301 539459483 550846210 312725482 862641283 373510103 235459249 626317931 483532165 168879705 378096384 919611296 743985881 135208112 428941396 626844424 407737725 337985682 729516081 494855651 708281478 131333220 497007597 893056103 249448636 451416003 462622572 941899096 332038826 947793829 719192544 105457295 794829724 716876409 137182382 594137672 307646624 426703090 418127477 919418237 650379416 268336998 769219628 637019654 676709010 963516273 467310465 335441414 579078629 117133347 562440700 534455939 521101396 460704990 786196497 508431725 761147053 320221891 569603169 516257758 348924123 875845823 428949556 501255786 681407761 973543743 655715485 222160297 424539797 275553808 542209275 877357145 781081035 760258861 358433693 894779153 859804121 564714996 553878911 687502341 845041213 724297599 234719073 596046756 738273872 601112757 220769546 412230170 914784896 176106198 752414061 696613876 882722110 651660650 280796328 133130745 364240890 155766298 952386228 900597573 384641527 823122389 455325026 575721401 100108230 349751235 847753040 401325437 569179328 331695789 452791480 709266665 867711762 516013853 153794408 968163644 736548947 866617028 320871089 630984808 251780706 231199259 848914318 231218143 561848010 494065837 689259068 466684099 540850953 720758170 791502988 719096214 263405369 381441617 758547307 868674866 833195789 705635191 661994265 233716139 121936013 784505555 372253296 438272546 801113086 849370904 133458442 340425672 621423463 122304211 345140609 349674959 147159352 789934833 382941903 533767815 378228704 324632213 370436126 153061359 862968018 473311656 675887488 790681139 418830973 952611659 338972280 362611842 972469114 445184825 610101315 932125840 319096889 133608752 809115552 845500603 364964599 129960555 690847155 366274854 262650360 756908055 945904866 594354304 433426561 459512656 823750263 683019178 947618819 469031773 250363874 532179841 105342547 765011929 568420051 254796705 274658181 534384983 926503951 154805878 455540877 417959109 475239954 849870413 528166003 864258511 249943204 631403443 728078094 913959030 103255150 494092287 403534273 278513427 336866022 289141385 514181028 973655303 244538859 773705214 918162738 111674153 489736160 539761558 167482868 787091477 106326848 540355358 907365811 815632985 934212780 834227483 522950334 166856148 721489419 306814607 761911485 235436637 901705102 732601901 663888345 340152745 184274305 657478793 193686309 788280823 240184582 159427742 389468848 272048756 806227584 904503266 133842042 473380860 394548378 623004542 630024233 895257210 770397212 840583467 791759108 858668727 771305459 579859208 801466952 507261722 694828023 755697069 596980240 400279423 506737249 879931093 793515150 947566741 391384131 735364759 914620328 669216079 204189837 869086979 546609767 402067073 535391888 437915048 582196124 143612713 204861729 955303476 547503935 495134508 638052653 505817327 297208225 854379824 828849970 245589510 887518992 750596387 234031798 822341150 684500969 250760921 672706694 284180090 363802455 545097101 601264694 324914459 945081660 662971365 165112034 172485457 964595050 328381778 835201592 373064127 849228732 580176268 516615777 634544690 685048433 181089388 410301658 219174731 277903311 497240293 867132919 898861560 809540582 518244088 402305247 503378750 268626795 933812269 186749075 399198116 486073923 233346366 801562617 848931124 586992781 598527169 713739497 226500396 194399420 114206292 867563003 306024824 276046313 682538655 332032398 900104989 695601448 184065910 772595932 315340234 204294512 249306295 745575902 978502202 915706776 957034694 346228875 147171681 640952768 713857620 769492983 382443246 981697610 786699057 668859027 536448990 976902141 369819008 688073290 105023407 349106533 638593063 864883441 609930599 885469669 390807769 661701765 160239832 811244648 165041902 872084842 171307415 466166999 348977039 298924367 797593417 503329850 100844668 862690962 215480829 652922715 820753732 208602104 426268333 656796728 642583146 597665367 519346728 879455388 874834237 887656397 634141282 446614268 194776963 691633639 231357637 987896308 261325303 690433825 246688811 958453848 603576929 539412558 343393624 949824243 706766178 817042170 403678973 271293347 221657974 703955199 727157699 570174684 692499835 648377950 532464762 161809384 299846268 402828660 412113761 666170773 204506732 426415603 268656059 885388307 970242616 599926744 871635791 652480251 385051533 204579887 924964846 101326173 846699873 225638763 808758220 830271891 291177355 226205198 284013566 905257063 527697748 940285989 440393305 625281528 466614870 480762139 797428282 795292530 303333887 440740084 112393334 298495554 885643855 100349626 148222365 331735571 309013105 920550730 395198942 574634080 838721044 199725162 875747226 615748871 461779052 510839026 928029754 246122859 554743912 269721658 263276618 148742018 117940521 480563098 857627957 809326153 670142583 317840145 452953692 663032801 659741310 621079427 656688362 528336256 247412100 792322102 391343294 388246906 956138940 700694766 245021842 858853544 129216785 697917498 446258205 362894777 918360566 655774243 664315689 967343896 253232039 530967271 293373903 956515185 544570050 396502017 883362824 519537338 437771697 580089066 123482613 592364785 506644840 993897769 673609263 577562264 630515007 285592469 547201272 411239330 312476878 831413145 772303867 602043966 804015238 431775763 402939686 135051608 748071975 805807693 324873025 726346188 695264635 793946777 129817946 307560136 985344172 156886842 827966661 916084919 406846288 641062799 871581489 452123256 324146807 432268744 288426995 576142722 267197537 991394825 245839459 286985945 142846864 807106500 313922371 765176371 172675106 572510240 346398296 159385745 875585176 538744335 571631988 232650328 529426843 538787905 840934249 637882050 488195994 654068829 646836443 794053418 959923265 700469630 415653909 209600789 981398199 348087585 212375580 333486081 368014958 124862163 674053090 380180169 754073043 375771598 716634852 827143873 991769555 860949405 160251919 621263004 353007135 346616180 722954386 852025817 567900644 862345989 788448676 859713631 761076562 283144250 328280231 969707251 205887169 630758766 926194600 726062695 648969928 101088481 203013825 619692667 170016957 461698411 174418061 195793749 513555506 578379155 201811858 951313033 327362797 950685872 719839515 607547855 569886206 409932310 664883537 651801169 349133087 118687531 949136781 171057916 172741565 248771005 393241866 991246130 471255365 792936766 744604813 230005307 204387557 405304436 202751867 365511087 205287044 666430612 362269672 661666888 862989165 128638267 352032508 489878883 728773846 624354453 304214657 348951961 239930798 796042278 339760717 545877524 177771558 677301470 324504376 317910399 528222119 303159594 210625571 692496329 113866768 189289850 145043075 898299036 154119095 602029944 281360250 203633911 965050517 263452847 347140236 561649905 264853555 918902513 178849256 484442690 260031131 468975207 177036793 842376840 908737506 522971311 852414953 930699572 166375456 301566220 294911305 154577805 570060356 927753616 535004122 126551443 383641375 991167113 744278230 153130293 968202906 145800612 264081657 276862756 222847424 481479618 206022834 334915509 689765611 152738646 801318845 511454375 749952602 245313099 834143147 355655755 767951510 487675189 892905359 589658084 297483147 622408466 868886943 259780111 248675441 505346635 547555886 585337756 965262702 234441669 535998958 981504853 165803983 694355324 754735380 553791532 460657062 234727240 386579446 672247481 507914445 816329968 956406423 985167958 101191316 302379655 642177446 551098939 375437809 936011219 664044323 951469874 543191953 697465092 463942029 346570180 630632729 635412251 742620177 401856187 691265240 523233393 411181131 724025728 292858050 211293371 554866701 478435758 346327660 913487330 154792277 862648169 809786349 363372958 798373573 915427585 475517074 412289891 421939181 419229175 728731060 217359218 409898791 353492932 883033796 359506371 297348405 217217546 639916585 300462022 929852527 707731144 565788621 865981137 973746392 313801124 837097851 602578186 562513553 116184118 267488099 734663056 542740030 768670616 853785098 563972130 683669476 696727412 804064567 152190033 441546401 279541160 100753822 723193679 653827757 458320190 209282781 817483590 779393948 825832826 618904318 206189679 111440858 539382105 810139522 805254226 372995781 221031008 587467772 117193625 266918578 109186717 112807755 966468519 416828955 382365242 662896474 115902764 964083677 670204610 320287068 640317010 635085987 460734030 302752097 742530473 887824947 882115602 142453163 965793627 499478992 609191020 631655522 249730409 655267059 218358332 578858086 346037457 912234759 852756459 205335660 453102041 834054402 431645825 965197655 852598903 674416313 651387948 794440257 422222114 405763143 741415601 652351944 783800269 516733011 648289617 687439633 313219465 165189869 492279629 633852413 470156391 937600747 666454906 164421444 793930958 369368636 289707566 663017315 799814991 804890469 438533625 883181209 972971268 526194458 859576019 427361118 945093909 125138703 845738444 193297096 718356499 338550553 775279836 782083609 525136091 263723160 697378410 791076390 381697687 131756191 667184142 345500812 237066631 917498944 544631899 925104182 373592399 327805066 389967114 607015724 269140361 533912746 848834018 913053253 158181581 591744742 871738710 800523533 222649476 372886290 439776539 608202070 824199565 812231163 804516846 668381017 444345632 381248072 685021627 640443003 296544472 875125137 140656798 621662556 305807144 168916234 283794717 403754280 938341422 375764593 612974290 285986952 485108273 282655775 198471619 179760889 925378415 124627412 391960556 367819968 655301488 556420567 304850249 211222495 971548785 993543156 307213698 504958060 614688925 736203735 174948277 764650937 492195619 197779550 502526005 674901118 498495976 692011819 951762269 626762989 396856577 531370095 413535357 615182030 171344883 109826115 275894314 384762627 766107422 956113390 753636459 283816600 656065091 492566813 520028428 345450296 989154479 931287376 754321163 269750323 659079648 853107803 307740714 769642496 146920159 125229907 152721820 548370652 706340702 335069360 618790326 604916762 185352004 781923031 379471228 466537587 781130194 839276968 874152230 885477610 815695134 829752984 920669962 259899177 922733048 305187054 882958363 797606044 567386133 414655390 679533435 200508128 316313443 840060775 557527640 666623639 249435547 817865518 540979516 261959102 210969266 377938390 170919029 349606029 407497202 122462791 709297147 355549605 514891399 599278344 610849977 638202532 249446377 493136427 760561763 593706709 821712164 736651737 917467051 617391804 822701693 448754047 569423653 564306694 976902957 194002486 983824211 316672509 110387492 857013473 666306920 864818954 620706576 424490947 590898825 445693845 352501603 258622740 778033113 675317439 822024261 959983395 713371727 543558638 363214361 821671694 575764937 996682970 611170705 462440794 710784895 794024824 792959017 123824677 526290062 924653151 981880084 892547401 606776484 328249760 188254585 474642496 179458167 470341855 938402278 501510501 390466241 224708469 845171826 252223134 291299418 135745498 393949144 631611189 338107214 614644246 654051081 752230720 556670041 845741356 415635126 906445474 369994170 286005194 455765079 683734092 668429008 983078639 235745670 453120993 309777505 118429740 453532899 883990039 403357604 185804025 650035291 860110955 283958930 697001456 920558608 341880309 715072385 358805505 588064075 786465509 242856882 182148009 840312838 728637448 778457606 258765796 331284852 646706546 709651867 884130800 375317063 215019845 967368668 183851969 351391857 457745810 532941233 632121044 502297010 489861521 308032302 441859273 364623525 721122498 459750046 567579590 354609445 420796702 776975631 263481446 752576422 902384578 457210698 469911838 472578963 325974861 578044235 373440011 398548155 363290065 789964053 946647092 267669956 659151089 684196728 211757248 857292834 897805965 633877561 656002469 447449501 466552660 588396622 797846581 826090593 646663755 962726148 924071660 367531888 976774645 302370577 511430974 242291896 890995128 194111896 480639560 866477769 618204716 700635435 642153010 171064899 936238352 580070896 491732059 383632337 591480982 560674010 493676179 753218841 714380209 347794014 897454463 176473287 513891989 281447241 245670691 960209092 634751667 995191593 593270957 832691323 662595985 139608695 339979253 950856627 665222594 574115699 247776196 192748208 456731306 675469158 661604338 685904748 462800609 917876391 653225728 360038903 332781308 918332339 137552578 964722148 480989916 485500586 846920811 335747063 144879188 475446526 305770512 233663050 615687774 118374211 873293364 560292326 658167574 865100033 966692972 709447178 870200215 588105863 741419515 586382187 727506885 821281240 669987765 297228880 639559550 421759109 674218195 532914576 724642082 775200604 281547250 827944246 951243043 652424036 895998682 566964228 637421139 794543630 641890837 402570605 518750044 804482511 971092082 425581558 795534448 807839233 658052038 872892525 943091489 785498721 274832869 104910571 130044319 535245708 182831800 139995588 662186201 126064107 266708771 625178545 436045514 517361401 375265018 898735387 947063717 879563503 753303382 768939813 889019485 258357006 392728608 208776257 647245761 750178125 560228155 996720427 669872494 654025163 405307233 634287925 249381387 526168075 227832565 947261524 270577200 703822326 755680653 972861694 481577257 131495953 590822127 722201726 265032229 256764486 320046741 256489537 966002474 101417396 527257382 776668767 461195778 637502323 666124912 686909321 516963317 816289413 466057261 965365663 826895002 767003124 410250897 975439037 359753161 396467801 175332891 601532199 943727524 375872546 457541387 164773489 922637659 440261238 962516327 513390704 834483578 140390062 735824457 735296124 302039774 647780416 869496298 212341225 807014657 892694739 426519921 722271240 243191890 689332799 474276213 987262432 619965425 484097249 931981387 552005771 237953820 692977024 112312872 307284723 282649611 957583203 856073405 478578720 798532259 253756826 535176655 115417253 834498415 691384719 753741332 837490997 756349565 144178959 316570518 386809827 191071674 952685847 727926672 690467979 314851083 624679694 675399192 291967838 723493199 681497687 947061325 969935681 703299055 135069394 217662327 619618578 612080930 363450771 728542757 331628256 479867545 110367396 616186516 571162929 335551735 331798316 839192325 490420608 837999389 496257744 994192587 281626961 939524995 894076513 927752102 380417773 439624910 929034394 735697599 820689519 780330493 916459449 678528914 139962669 699987265 974171211 773290187 169088894 129031669 701965381 852870056 618546679 756238534 458815874 984199112 410932060 211943173 279151779 423602743 540588383 378544096 814275701 700026226 277676476 715891912 226664207 106950889 200234459 843327046 831519053 858775267 316981379 834572622 432900145 883497916 976172065 362259509 906779592 357440562 537845106 181447995 123463718 309345092 621057970 656563310 305200662 515801190 376631948 352201118 549392549 167802631 966981243 470332603 230066525 141682773 713150448 626889236 959260788 909835771 486339664 971220326 231648868 929720754 923971120 840173032 933068853 476786856 419854180 922118475 825561653 906063597 386975304 943896345 732555972 597564532 756745371 774952062 205373841 415926621 189121632 798831900 990270730 651919649 208588210 105162078 990512596 107443947 441650912 845901869 327302351 433209390 121312899 557911983 941323862 122425821 185470788 742214068 697416257 980535530 597358829 430673942 917247125 567349756 792687997 542668761 892962556 555622335 996187972 824790686 358098505 634105337 813102651 933909764 999841557 407731468 923847038 596660851 652373838 924838005 355663904 751397131 601683199 703781270 395708531 973241292 750279868 465492584 632689994 545188228 163297070 452041187 462976657 223599238 483082385 815051783 998515236 528013867 395749735 119686808 312546292 103768425 684983862 572745214 312124199 856809533 321858064 534171096 370867573 335243278 574658580 672449895 482267829 729059944 276830259 893288928 512010302 830956570 747123765 871162718 611058393 410192784 383998787 171458005 749006428 231308214 313138923 805773511 506127935 534920051 800221042 265223223 149851687 731239332 733780044 499872835 312648161 722124518 103709501 287416753 838960341 515874765 974293813 728781415 477514326 748190628 334968902 599744993 863447789 577242180 317735229 475334833 324576883 915046975 995754663 823036854 121833121 367197560 400155273 941416342 505030480 737493798 247896168 298069165 874493285 131524001 531525645 804388629 641201631 763142452 404733425 735178959 560258712 664032941 206052938 103842789 847749069 721200742 944290213 588547598 575934401 977263847 600051024 263362340 621552701 589846938 478396478 198748611 500596411 863436218 378544455 119157161 883955773 444622439 674309198 322722053 916442489 848762521 495252930 125807118 971442455 859233421 759536224 220002855 969963835 482400948 135701846 730275344 101730106 192453975 518533498 698164801 874163393 397183048 483192990 524819540 576656750 322449346 805268558 602786113 645842700 396814342 258815639 574589709 616745364 191205460 300102145 699288598 128427651 753478391 232331102 386626713 133393687 101488825 202129569 857369770 418693046 194681269 385800768 987155866 740926695 695384304 864000749 468425046 482358982 146788363 380104980 643621638 728887145 511125309 371306589 731925293 747548451 988478028 537488399 600957855 149307184 423302939 702588950 176193959 569044266 320999950 877260275 603518510 344962129 381165362 275093704 935852515 947473520 138032283 642976244 799283332 224457563 683599406 755439832 975294771 747034201 419346836 247637403 951211448 901610016 586622036 646881280 950933938 871132869 674346410 255951687 105915194 784769449 221563961 817263838 690846193 778230317 882592444 822560398 682089438 835167833 772700304 848232295 867123430 745457122 797542907 934744955 892803540 241537106 524053502 352413804 493671593 907895166 671465129 654500857 889614499 337868027 182292552 887226251 577616137 571470500 473824422 403765989 640851179 147929864 197643028 891889502 391930585 546004583 279065302 933433534 720283838 203203864 499646964 491681029 836508832 703957497 586325541 448752467 909145070 910539548 750659289 623654464 944128695 923253955 396967294 150574690 230876680 827355255 759710169 811894119 613276065 886199147 570734200 982582436 124699940 446349058 819906669 172557938 215636792 230581345 410002856 691195384 757403338 255938222 291800200 136824990 340177119 478848226 657482199 719313085 311043064 104526732 564771680 428130639 234052648 818523850 402925780 144576647 131955288 546409008 339916932 396331756 430794282 920639278 328524776 571461485 156965738 361964180 443975741 334893274 569171409 777884666 493130555 414772137 153547444 596066774 977398486 802112028 126830361 556943533 663240891 187359152 152760201 815432730 729887139 161910260 784606369 217391153 625801716 770616925 485178648 376022355 753574903 285839098 581130534 785293253 509885768 350081468 851624631 725002267 384175315 818959793 608985953 765652361 747294740 462345804 950977027 951927447 740698305 186544065 702318469 117293369 187878303 452855010 506590707 692411563 760958928 401245174 947429625 708163076 981486652 589551451 812295767 967448385 595798756 418166372 376716747 229988757 650969165 136516049 723406991 231483621 473546991 197273110 843594544 684966806 859992924 728413753 587680803 793471733 166504168 721479742 359264516 970022892 646014801 596762823 807468895 905196086 253499684 424197610 229700635 423409908 757759202 793519422 652542596 312163834 150694616 726204942 565385889 540290634 217434532 911268494 856578739 304414726 724407640 613161526 169638859 278877311 965670258 319444773 907962849 681106642 282195983 289261828 686783679 363747656 487995870 453237971 163648821 189856098 942351016 247589217 691808815 389213931 129923546 408399651 429527293 757451040 702477685 471475672 516896315 681360327 920833836 115890517 150136455 473684992 828695454 441089459 226934264 610035351 647375704 627354462 136850477 117344070 936384968 991697387 759397992 545369650 360580475 805605609 405142971 583440883 845856761 354386476 342569508 519183478 955544269 588354745 311001592 223656790 876633717 816551461 658877148 579618995 966968907 264573468 137364605 920160686 646823578 751761732 436912447 662885426 796407565 950051402 605053639 961893686 656864870 972614832 514935018 181388057 108492357 100818572 910702602 608142249 661064117 645021630 414487720 932303039 504357253 591499889 465331244 496888927 324249086 312048671 616057399 537513768 819948323 168756436 765156539 779265321 879731265 618889086 280176063 204266732 921003217 649841850 317137536 633711439 618376740 501414781 293464924 726657642 427321162 793106005 811688281 275291922 116859245 638788821 995681707 491892298 870956661 133359629 207272329 367608594 445419121 329891059 525254785 216383415 701697699 172401075 697647860 834674447 175966987 869221764 126355863 591085619 551727911 531336563 105575210 275316477 759472755 820818093 736532535 382131030 632499800 409207244 180268456 414469577 673375380 269356341 716459302 781992007 811639898 219897311 235037095 957075897 652621598 671634596 600217289 726787294 307967663 284287456 123455497 359502680 709121698 236610257 821802805 688654746 951644408 973866223 757034470 679276964 664652884 249444483 891968520 948868371 798310008 849757922 292202610 587260860 971298287 395501950 699470993 563798840 589569028 820376453 453661243 158597174 866960690 332376540 688076202 465627748 897329839 801322104 479890793 893320975 185737666 263989996 655400376 431070306 907052538 360164231 595523657 448220511 547102819 831461928 968176468 793566839 555853407 204923004 724002171 527910742 526214229 820586108 257077894 750050411 521431257 471297004 806211334 170205929 107152895 928008544 584586827 147189618 602977841 632669795 767509475 228288632 790544644 732583326 892476311 824802458 739937032 629738703 971870229 956997858 970366074 168635294 790850551 706777282 721265411 465498905 417193565 676109314 334477781 409145728 262084547 688624523 465938497 911273244 471162801 407615208 733066210 275049566 446390217 572836575 772499233 382351036 702242808 292029009 554833253 609250628 212696840 393625023 341723272 653675364 920455797 937130614 405890938 814167055 715798372 592494205 249494968 253617218 997233991 563011573 255216183 550558728 777680833 355951953 300334696 879587920 891329169 774882004 590891585 253953671 982193394 337990150 283883509 757926332 355183169 345728302 731161178 586206616 655146900 253112733 689654760 706560985 357657056 397887537 806232228 944281357 278347729 432230842 652004165 658660975 357555897 197104819 531267852 534927216 792496920 250232233 717857766 976959936 239042961 118447032 499321447 247855548 594124276 375836807 591152487 188295191 193025761 861629142 307469822 341091896 568290645 676051161 502957892 915773336 820351350 575054430 462248834 138867968 830130449 498570132 144035360 282340272 920645788 411069846 377798829 767518014 824555904 422076241 742929182 966099336 718341985 304733205 588109057 843484949 816583962 165132694 779526891 818861661 933024374 208309447 862385901 779443772 382969721 618186269 133706487 181076681 594581281 812851812 875901206 154268909 926095791 640573184 683544685 759482969 267931462 703080188 683459865 820208548 373804571 161586203 481797005 398725926 351860465 632022377 400924550 569086487 853394665 614998107 991652139 704896022 349307203 184361544 123906240 447472587 339855261 470814414 428368675 847872726 109115303 436765290 664322672 688375373 854360216 729527353 599540906 277874709 615133223 696106405 245122967 548681879 695420892 502210734 743484433 166900247 739999139 923501343 809576472 482990463 875465121 364935018 360633249 155547509 104148971 785917865 147207887 560958925 186129795 964023370 166343479 522589120 323778604 678102591 454748610 915054048 142947364 908300022 236401031 895219471 377828969 874110577 205093165 808194741 596159255 644578317 437351206 730867916 905553874 400733647 802019603 388647314 974239204 542080316 387136095 875254910 861320301 702623926 245038022 306440006 111003818 113900225 816125598 683537050 853282001 720834656 159117749 847719518 969534418 289791444 476827065 129132737 979756169 656520764 518042173 661433390 522406699 203468024 521960229 814482415 107142491 357023645 896603930 100689921 428438842 824093012 899487207 868223838 756895272 836793171 892266994 677794623 236261926 542771895 690841473 200506730 940005809 980409405 427115648 579142691 494081851 545823966 663276260 428735608 381945436 106884272 683913670 881561199 385145003 685522899 768889913 140459831 907517028 334718454 339044818 261547447 993091006 511855001 723364644 394209226 259419705 277669723 533769719 442173146 784353317 632271446 828097717 432904551 379408132 584718730 739803768 567154882 997296153 679228768 206545983 125112532 550311946 475145020 152463608 349560195 534111346 371799031 756590392 315009999 276853079 555134371 777136549 974180043 613942675 945063047 753265261 867134177 657495720 400003495 749066451 930140386 609925828 566463961 671084990 433801552 473825588 295551606 322750683 201199177 381161961 130210890 385548608 227342730 732837899 582335807 664329559 324704721 341673009 966862079 990381402 489357838 976232253 412957808 553792845 879910916 617313557 379236015 584112607 243069542 148566886 256165590 686570277 213949204 930032455 922043189 933300864 810463921 926438157 953506406 934556388 598072506 673179407 231337005 286065191 540760824 143886083 789920589 880330292 430734490 371506428 745281659 437395882 384708232 492330318 861980387 225951723 853554393 895417872 888110092 316850092 746770847 490448094 533636014 239119026 701136703 140118370 394081087 841670229 755565869 714097676 465318109 664535973 287881603 325793171 326343541 174630598 631212621 134348784 818612644 675716215 509606099 531549416 794492604 695425042 292925972 974680066 788920154 240239706 878592963 486877880 892552493 803245649 466968766 366526549 107583639 320385802 187661715 895003422 328863826 895087749 265834435 115041756 549973175 906118380 207506887 474886563 707271810 118636241 838310458 512016022 720471360 720145448 692917360 366641197 347770616 997216823 730970645 587934757 414703690 967324193 445337193 146221309 478126867 938288132 973666348 277902719 626648812 724963362 279042224 272541208 741854108 789308796 193842092 956486672 904703369 207234845 230273413 872161351 996046323 627264432 435382515 528446615 117025509 764246527 751074996 739015857 624339004 498348728 207073858 163403384 617511352 900463025 961403798 490645825 922804455 914331167 267686233 604007508 939157216 343556417 773661679 598416064 189685767 752606555 577066373 537657961 161892274 581701140 182300102 292102184 742550801 307645810 879957976 119018357 765234267 357577949 633275539 750412396 306158821 553985061 248009732 541974943 730129734 558834884 187482198 876450522 839720460 816144575 105655606 207939968 119613038 159021209 487037756 357474192 428038367 472242348 614496608 338324211 481534717 583666479 771444461 368940253 888254362 961602385 133005769 885968929 584719338 437092246 968624125 788065451 889303577 357902565 276163263 683490653 268478509 231832126 707102027 546626113 499924558 487501317 631800261 455897595 811213517 202744696 904106701 394460172 913523277 200652718 888005828 931313353 323590806 429410584 364116370 619541556 330637960 358903934 433857049 176851012 748163282 147850039 266579959 214241416 469989060 752996727 393784633 823563804 968498333 688626445 894973625 220483202 359490764 371972197 683524953 478045381 174374305 862650906 944202653 750960533 959180581 645865070 289257151 276674544 140794755 407847284 748249213 470754029 524050381 835490951 493077831 490359065 447700255 614385136 751402715 337043305 396396954 538110308 672778016 413597123 916955873 837909230 778968321 681476703 314941366 267069698 592939153 856125838 843992742 390732932 316096501 305675692 452665842 510635522 926004998 626506736 194501435 706628048 169879425 620179807 843308959 479174144 716992322 919582904 486040560 880069523 522685724 338351809 819026802 314217504 395240895 233788139 713944149 566550420 232896240 862627122 476100062 670901121 406432460 474612037 879974064 228535102 438307571 191582096 862522992 625127068 291263992 805125495 694314100 598585106 549997519 519331040 617129507 991425863 523064080 637676208 741758321 754041149 145987899 735667806 633557265 145509209 323471439 180818613 308370871 810606837 169131727 958782298 285361715 121940534 443184169 722689527 433357539 111930452 784104502 572635679 933485742 766642830 673440328 654602131 786489206 311272632 846640576 380244914 659153102 529265118 361287995 447245887 953382479 693961944 309159943 937971482 514996902 661385858 748195556 411128210 692556390 382713062 490680589 239480414 745278547 765463338 179814494 911283476 871983913 986188078 711954403 906677273 907122361 626806937 128255189 351362042 984601783 416818560 443126408 812419873 789032398 193038276 626494963 343988385 766931310 404896701 362100798 552931279 124867575 556701295 331509357 137843625 733891886 515925377 376395128 522152629 178540454 565023325 450779827 505685729 608737545 202963382 419763425 867502505 479907284 648773603 756679014 819948194 547059113 473647187 389189499 237217862 672321276 862445653 986301097 808341566 754406661 557748951 665772954 293538992 941425585 261181680 148494118 550468107 314803756 379944152 145107658 827149117 657462562 436690140 978767227 493734774 514017095 112856915 811757442 179050853 683953617 101718897 213707891 997668360 758641575 789964897 447750931 359303285 387681262 879738377 189582253 891153214 278427444 147806112 632407791 948465743 597490215 580379922 156524850 995509892 657378245 991208732 557146215 926980710 615495182 341598069 249477244 507174817 465588397 521793547 312810342 686699567 300095132 614219672 975783514 912680752 531600471 252241367 152731840 591460061 117547148 967094061 670362772 996846897 101861012 763574515 417437580 120517341 209561811 693389476 902759352 257013125 467255470 937982676 199325141 260634382 982192968 836007853 844772931 507688384 898384443 409094245 943111943 585316945 670815890 154127442 945739431 642128651 420903309 308898185 476303585 101692757 107645687 173758975 721787268 554341734 184931095 514679408 288417181 357831656 935332264 275192465 860496020 363175572 243882165 956045415 116729113 996710457 262527774 404189203 703090769 134244679 853532531 424942651 106883845 219549951 163731373 471286501 505472266 483569308 778457859 231363991 160811423 515911970 563796983 214003443 913206137 109934282 237111700 811591120 404989267 357032965 903251974 432356961 636313504 935857554 941083223 347120764 105867781 402094309 647420500 926335268 906092743 814268291 323847777 819348000 652675456 825074260 424430376 327008651 265456123 398359851 794346701 777183370 540281409 846007687 980411206 173930287 243989084 685398369 620470315 152437677 974986087 803391667 762629952 594739959 495537368 554937138 343609994 222792928 220470527 929431395 517114421 190865411 264645077 675786016 375418531 548474552 957872855 162630933 228688169 126698466 748058946 347507826 927367645 611536556 317987846 817770263 249733090 885108079 195490192 711577530 951960946 208866738 246738296 977808784 540742009 466731674 927915522 223366096 717574368 944268420 768094422 217619225 487761721 920875456 278350546 242671724 780656781 386228194 473070969 154969990 176018946 426120708 414548403 647400713 201700125 259933505 817529702 223777936 631426040 828625068 322468091 791168166 899733774 571870306 611396321 583080109 307302742 756941999 978145021 899327991 851418699 617068034 269476911 702544577 808938396 591123771 742860597 540557911 380594129 721623527 719402375 913576185 343091547 296123198 587566853 666497860 453369479 361831215 852610828 446634492 307183066 613028905 725154426 792300213 407559872 153471022 592484671 148503025 752053970 351100155 498727563 938785614 619868623 763362706 243875803 296618905 547837423 731972994 210510730 873529116 990767810 752517814 133635701 259688721 774527388 729353127 517672665 940448932 216022195 219497644 857159817 931261376 851790792 642702722 895407085 646299346 563599633 458536152 442364862 826670630 550062434 244872504 817349271 211437878 776055805 730561058 383869473 129783870 562445848 225042729 382983392 320317462 895336933 750880463 991116877 520381892 402190293 471607694 874416375 921014293 185242828 390787636 391164913 270905547 128074112 838067369 754652773 731928474 337647424 135311064 567943918 864052150 628793930 234238011 463325459 272637789 829842640 651301639 500462618 610395811 561577987 493632529 449811659 348602721 486296097 858805169 470272121 153514434 713575393 170436107 930734648 420653471 751247658 646492863 113433219 846103998 548720519 176416276 147235977 555297296 507260657 421620779 690983109 710507516 114105904 963753575 236981263 688688517 695376855 922947292 495131946 993772502 168812821 513822124 986424251 141054698 341290960 512691997 572794685 419749682 886923321 255714246 853200707 951829016 665856618 355008557 909557291 502582405 856054568 141964534 809106174 431825603 584113304 904742635 402899638 678599797 413145933 425093556 301593684 116171757 362005822 535003456 102276897 665209307 265150882 622370210 353966930 517742493 481859613 843942834 727683276 161761666 506904336 649464887 625200069 587796153 184902973 926486692 867329368 805290343 252463388 901607947 567679401 765327112 164185444 149755187 699562439 495848617 902606848 287085633 263940700 277920299 256203053 850990218 699149333 794530882 510589626 252251993 353156203 861827488 839181882 506973621 253691317 310381153 790869663 795279553 915148780 806213123 252304232 411874600 837281911 540737249 320881725 569244512 552411159 137383159 671969424 102050236 948437472 360112957 131029810 698556797 922151490 721489310 341575696 228827054 735206971 191942937 489158014 140907375 562783004 198158125 129419680 707451037 300972021 117681640 723463890 107297344 827110884 525116690 764504008 439657764 524025681 503601572 501337540 748260737 848537874 947644763 736172341 548255661 182672958 603811337 684927761 191581653 855495237 823046964 874932595 461240653 986988053 866136739 982819819 489040680 566501483 377498669 148936334 528026536 977472957 735961003 597248201 929096812 632961971 521296875 872772414 548647497 157205090 887798764 329289702 197377648 361108237 583424884 504928517 686173502 395409068 535409054 412843339 977716318 722630498 182976054 240417681 922138928 187814187 831293690 660699517 632437325 458758762 104724838 483663334 108801473 144837857 566751342 911258093 407810891 518799669 752000067 160091024 541024416 962356050 979702517 620659617 112672540 792408315 596055174 107130090 653128871 276502515 133108387 365859894 907154891 160733193 110459505 269523353 628352231 281561942 264364108 925821201 719791311 122359702 271899754 260227834 970406127 497505957 988647818 350785203 529811458 151609914 658931862 453868087 930950486 444581762 839496754 824540801 654266382 289692198 663544168 565261795 705247213 681223803 593269898 973189061 104399305 578264376 568682839 684939880 774739392 242228218 893143529 108264113 964319003 678587969 952720508 959149564 982498039 764472232 212077437 520437761 246775370 656223092 865899700 220299293 181411293 792782800 414976584 554350625 550854082 260967426 396726016 396366492 821742736 182905670 657053408 425742571 838306940 164612524 743495838 992650716 881557038 124669979 448868170 506043129 383603142 843814240 551141134 919049924 565784984 120484348 196713072 914583227 926816549 276221374 477056756 545262720 348898454 263360326 481014608 926167993 175615922 744480492 640278995 248087264 714463987 420306950 384451729 480014731 488405611 363833551 652183492 583519390 690883354 900370816 813580681 127488307 458993853 899021870 469829907 840232381 419535420 380492006 951985520 977573137 852311991 690053459 558620730 848882498 362891241 833193872 407618599 688782012 459610680 230638035 456088374 782533968 606946678 216135117 361527049 923801590 105602005 851342325 805570428 395914804 219746346 925279660 677408912 952705098 456048049 588677623 514977833 323294790 470896674 330248481 580010459 535403978 176415958 169564222 697959136 732297854 270987879 630739278 350972083 741826787 535589445 329590992 763324034 587189221 114489250 410891409 409324216 522722765 424616769 672451145 673775665 618123843 430181501 593429986 482800309 255751002 601406254 881294984 988816423 876639437 203885293 367955713 452139528 365281214 232952262 695383226 994647272 771647057 446205744 778492161 578054378 232879315 460251605 672620687 349344571 915381932 284146576 186775486 931440852 911929884 628999423 174770466 963764575 805987065 450639265 910537469 212822670 684746718 924465911 103982744 456819543 992692005 745935047 795806736 306144015 207498722 872725557 407290313 414870201 450564054 243003799 616298634 973605016 388037383 192561394 830077502 104015967 516498398 704176058 450377742 991918662 739497057 345710805 738682805 768480987 889939760 274659569 798018333 144737718 756511570 904510833 279047329 994477919 321662550 803920836 965837740 726596078 244619347 914124184 957587592 105742909 578500238 831747192 851605988 653475814 376820361 936206765 728313988 341784177 782691105 895982436 571332687 820551027 568222172 399246842 548103773 221513791 895778991 991618497 151516310 174257047 899444839 182116214 245621954 626959751 214436878 540569217 483913616 946735747 454164395 710076610 456082918 700111433 598506434 853903962 814970528 606098024 101659701 624428549 557907515 477502655 891156090 922837648 644054696 795457625 569039681 675675343 322857344 196628194 195895961 651276904 945270401 345953013 548986923 118244852 859138637 266645534 131217070 470946875 814869452 464529999 380006954 791243886 581898168 892889534 730269312 776291071 389728520 661266254 177171629 268337764 633986404 665182460 633742760 570136209 660140457 559981961 895657494 780966751 985229907 788798423 315671162 340270364 258067886 158863738 192778860 560385207 632361949 360476404 618161921 328079500 572124177 547993080 383060546 518703673 906043687 879564265 968653689 589708760 324864676 364556387 437023955 175117001 246338265 663305470 561509458 980902630 139836409 701435842 214024458 239156831 373694587 302847835 404111346 384264435 667197270 861226148 398697419 710510490 978199190 546516722 178797656 475264614 328680501 774884590 884853876 151480526 949346665 990691585 884099584 125956768 893776285 313535573 997384408 532669758 842244650 213154551 284962747 203096022 843222957 539280550 133951067 712693948 659864456 266678732 212326607 510072706 774750703 246464453 489484645 731550448 642248109 238909071 231253772 112401012 462924076 459784659 628634292 210121065 994134450 398204821 228475416 437440917 656365719 387611998 827732763 589139547 984277114 224285044 918164080 292122128 724190429 975576427 581593117 235481312 401375455 539693898 399046920 543981913 351177767 875741754 266099642 472289641 873148300 908397827 899078352 492984901 448290040 996447066 356270153 353186604 637955935 177451512 796792794 308053558 490640174 912162934 692554320 614297053 654088441 730346406 481346776 159761944 251239819 407978192 196569696 273557984 593342324 242649064 842471453 754465391 957004088 549610702 273485258 702178748 582193838 913503741 575884291 710657902 520018744 892661631 168251214 268270058 107543062 169310555 862053396 482381010 983520525 639160489 450491552 456550710 825755720 233089474 829098837 556104015 566940342 814310417 916889943 939113357 521590936 452555721 750368911 441169002 814203688 346389467 904892099 695522279 797860307 182948878 756775693 185558042 536105941 594377859 765988771 489575971 557100358 873251027 450581987 385446864 323282459 213577854 855327023 509394007 277259300 392690838 630471401 571177838 944031199 960879540 257420093 297288259 805628194 784861512 382818002 543975012 630295278 224834377 344759862 222475400 590116415 838245686 199163943 775305075 557676736 740725605 546418270 391315105 391228786 999733317 210200912 470947190 723316111 728502107 984981885 354842466 687886346 727945619 396435330 639017839 668418656 603350021 763411433 692255711 343710306 915794783 904570298 925752763 402288555 359860856 174243912 672013425 102065676 548303346 601489327 200133236 602525386 754811111 838441020 447923821 155428059 803180217 156093080 480529281 186649128 750453056 715755864 554695085 207070439 927171568 209213682 957049923 174043909 324149541 299858489 641578923 886834664 233999327 965528178 157362063 841506722 366073133 589659300 325452822 981668415 638021802 648490093 426712173 181674772 848338527 156439402 231288817 788867343 749548238 716091115 135841335 275449575 813555164 286205317 378047471 481641989 561920587 831885655 459232972 477831271 168923526 256179791 206860193 436512884 719862747 715501047 409366215 193456629 845928284 768848733 670557844 502869134 592122126 281859499 257225011 723545671 451564549 192904106 812053906 578456045 527167013 669606268 267166056 805019023 296108698 243465157 198034881 399476852 383188965 197385331 326106210 829582098 351842728 408034835 810230599 671090629 378123427 943595885 480051593 235110083 894238169 189277200 172307029 907832838 428860980 556683363 522151638 554231213 996586550 794081029 590970648 137603794 458501930 201780428 661655856 904333099 500389753 231187389 100694419 654730225 800249330 720106475 612564259 427241033 650970353 564267368 199140456 769509915 570280501 620891521 565807270 920386415 935541827 114503344 542808512 820662003 722467298 423365080 339078455 151513005 162422774 203751311 524265606 518028708 574938847 541688805 330371394 812035430 986582054 404042761 625522556 321332115 694237213 161217626 683516942 326079377 607711214 579498328 788838280 458109167 972436430 378987792 280182256 637100053 437470271 320061306 616372998 222206835 845457935 865833703 167875017 507759276 321492119 851221862 249509376 698932182 156087948 173852578 584434842 719502379 663468117 145927614 490261179 926330425 236994758 599179509 807161614 959720273 328037291 145637275 982969932 708872585 760034905 429794464 851905839 896257586 889206275 114434826 900401311 193252263 649986954 799392808 984673978 808700269 350945264 822369270 951317571 423343968 690573405 974063905 794658025 996307008 158316251 741826183 168962266 516075521 932897314 427257228 558445858 260213213 967941823 659907190 137014140 852104301 405615695 790200489 592692510 859912137 938909650 557151870 205889218 157929382 631494667 262010176 850144989 534686704 181898970 719191317 905072495 436421489 199512870 711658871 896788874 410775297 970064565 468853046 877714822 410912388 852069035 674015355 721679002 194983081 953692633 167508711 449411633 853721190 560421201 949158159 961513259 186269120 843083840 516988535 222752291 692776553 797236992 984248606 166098339 852285106 537832117 854157707 741798403 387292188 202689249 282964818 875200049 481062545 389983943 491000782 116654861 491944923 543493123 607387374 476142174 576013515 806444831 255257371 511005593 665156834 980069363 125303134 282899128 568431761 729990473 928047154 940991548 598068909 327656294 536364272 617392751 912028076 966443672 672631251 408982151 718605154 288527129 114399019 383959747 433316228 515603966 819958733 664932049 628186856 123659283 286669060 829721791 875839388 684903162 693422111 928744726 332053148 529843856 697607079 230894449 515184692 954398064 883638056 428772824 232491889 253773609 427330738 412991997 643140977 325720801 396719966 780016599 580717069 803948193 698194195 428242133 556959385 590503141 128090133 397206728 242369490 275778394 510679747 458776349 939484687 384421762 133668988 260851317 906180866 751454399 130800578 699311510 234208142 730450910 184570446 519466526 405327812 941444836 882959281 307392464 341953018 461440616 582999277 804130121 801839242 703767926 409869086 811010583 770263874 599583884 183638447 490583342 617235556 788729624 631772231 330501936 332652101 651748452 919877720 251315955 838584138 791112803 320397672 528323133 473425583 922372993 865984938 481562946 896857011 999398099 435960553 656750463 301126667 484098077 162533963 923240400 604978068 159578796 873047153 846902561 909759647 832446912 330376886 745413939 762826847 436171690 983890631 624247572 179550676 946894677 642270902 134420435 872195922 270222923 590200716 812323997 481709393 152999050 576289567 890641313 624931965 452221967 132781269 156610473 425233131 942378609 414047888 997823460 397486666 486638442 824499718 405082713 891878364 752776442 546076932 661963276 866215718 882539217 683383528 536028086 795637872 283869070 888564290 968129422 624091432 717386358 995062388 154064439 218031409 973521922 154768310 971743885 230875717 980178467 387988006 560802649 265363877 602463692 995083087 444347186 818550992 585326786 316293974 268494179 921390438 226413558 859387672 922852019 492918619 816033885 403181932 262232810 587463740 584383336 952729580 606416249 750939131 280080292 842451026 781751470 922682899 251443894 996145212 541498154 148810518 629044271 627158579 262608704 633181585 110711824 609687895 545593345 147392404 423842915 881939187 939481876 933644049 949654030 783867006 296087947 394741908 989877181 234830648 250258557 564833257 633711369 313309072 884982515 341768495 954385011 373080957 828418177 529080131 141149768 354558993 413637951 689178552 510765106 873462945 384943063 785930818 613575182 454746224 738867079 455813926 143984341 597447308 146715866 691035410 834682313 917762009 593448678 268179195 643279909 387901845 312863462 753093609 685969412 426254619 367594624 947366319 632339596 486030637 755636836 220711952 657486316 346908955 916787836 653437030 172586392 189728851 550727103 141215207 831548555 585288002 551931359 645396505 255910145 856818368 734513973 237214557 597158808 528915604 570481004 800240631 747378250 326413985 956291441 189372658 668024067 249739213 531077141 414508703 637428381 643710798 751816599 968835139 762259195 432769111 717360517 532327637 536866244 792940803 698960073 664385803 588048363 167053715 130751921 673778660 841919389 143892733 359350312 251293097 330862218 291677249 512702198 602036110 703694753 412436708 308997920 257374758 249094604 373848914 996479147 197504721 166177703 606698609 757917453 177078351 536986684 740242606 183461352 686068896 339560966 596754601 972192318 251121162 829005371 197236711 556027119 482890392 761728570 806733440 656292563 866471636 912653119 317552879 534873113 862391789 645883075 391733779 227265783 333220073 417918038 976416418 363713076 128106264 501133844 735673965 643993052 473017393 280287736 126471249 314819325 339871101 165454239 653438046 945416132 237324214 526230753 639571922 344943586 991106942 998889388 484112004 391696026 159449052 219755667 783629567 417975461 257749637 444047420 173045828 687499582 500458951 649274943 946854549 777600633 616636878 191618383 870345464 868653741 455434189 719794322 613205950 912827315 240544526 314461188 822374745 149494176 183980541 930757879 421494019 323991102 915723749 696988681 977136247 788930327 896967990 842131570 456990198 680943694 375937111 600628837 656372651 505038239 723452480 653236481 357913681 940003111 350518479 532580238 539173923 498248741 685165806 900200296 444184899 426396931 932609759 931098621 839546040 560237554 208011802 400923022 129214378 191083330 280934574 468182208 671529120 206309075 371344231 883837940 371985318 448287422 810242342 897364010 611430218 280706002 413916501 180471982 963525960 469731531 453514504 379476924 867391546 541891864 992828000 746326547 442037400 634441882 597053265 621188240 333706883 848477670 311325330 571254168 867748906 157827029 634170688 985580110 958480543 717450134 560630419 426554074 410833334 277631982 101313789 634609207 828441503 486297540 752772520 664462412 595000034 337839654 952957298 477902566 484347750 693529045 435915169 428384017 407924572 143961255 503853572 974293333 469501657 952943115 770580158 922814245 620317159 987582315 435428050 590954960 164613975 679866097 676489041 458103707 100296953 478870504 581634584 543751717 818725170 889374036 495850322 249316472 717777881 510579266 548230965 159441389 130425267 352592168 335617093 274163373 560967366 430359859 886315196 884351615 914792867 697757591 892602714 368390610 810648362 928015849 925557604 624357041 960117805 687882814 351099079 505336641 354299917 701792209 404701735 328157811 158452844 417891227 487153370 654115754 615186441 186549916 310949525 251990626 123675412 773476994 111033534 227363955 645297663 424640359 297524459 361220780 833000978 473004525 709534965 561520565 420217493 518992290 434997059 533024953 165826564 633819486 215297312 503361565 634925583 276191035 464264869 872829665 516779032 778383395 383212353 988664569 316200746 690053351 125144866 499951820 194175918 952447913 525706987 191226892 373693276 612636225 999055319 364131284 483007045 830991098 240108539 454615935 890785545 340575004 723344836 709863750 924876182 968218086 230851402 594301790 542705713 882394960 830439506 730298301 923282028 694180671 188859098 956616871 701227751 580801518 130461091 593581505 384891591 342236324 309017350 108851612 419181521 828062300 950276461 163631034 937104987 624927167 622399516 785480069 157936291 641874074 277998995 141514151 631540047 905314255 677042595 722517333 203231505 923194893 231815475 567510317 127393156 405463048 297781317 123930865 348098930 573160776 143414193 119827653 192167918 678857656 543425240 582114309 359023615 448194939 195577222 776141239 204865199 610571401 382790283 892416232 955994231 952992327 325491151 837967817 868381530 478960251 963256862 292273259 841895357 240870939 515531185 499016065 856221156 214788588 247324287 158050609 996389892 393155127 164055389 384646790 735192915 534991507 418817428 540716477 932192356 822223600 604827506 746857663 770868267 877599313 657555843 240280037 694101217 470058863 113447888 317766879 186996530 637581540 707780377 427283917 110835619 861580063 540273175 604763188 390282101 235196323 264527192 571546482 347669695 933765113 790296730 272802801 204277958 614224740 393384054 414561815 134231991 817330127 319893136 679722658 405848129 112090781 936213231 170090572 640277335 462968104 496689072 562056532 492084394 887379295 106953016 767539880 768361681 335689160 162339651 489274067 447213565 441216066 460360756 797728303 957738528 139472276 621919409 432577397 924461201 353655637 769297455 134625028 450952765 755581232 730773628 653177690 548140781 898428069 462151265 911886062 566475551 975860838 625047698 880479451 455939518 262849676 397762639 257945363 734892406 355751997 870803075 148286548 985844066 309937756 133600551 959898233 195789634 625503369 753843318 304546942 721264210 952639727 855867570 353000798 708822128 908378642 211226397 667611189 710997293 122870735 283390359 578903136 303926239 969366005 858085061 104664321 778838625 841269985 755992278 326117404 381343574 818973967 998110495 614313166 291486612 320114785 178583362 339553510 502144254 733281628 516289538 744276403 125382778 612623748 813921455 516231356 407456725 989636595 612380346 503373591 126802695 314989097 302813116 464608136 795225390 348622967 184408911 674323161 943067808 933797666 976290233 129935884 797886256 605653588 602441876 831867384 882663180 695189573 738681359 568147865 308631789 393862295 437027915 391806730 424071676 474754331 355667543 921410133 229679886 337412048 336343547 220929958 603236183 793124827 601006092 594137538 447301449 776053275 470038194 650521279 324884072 344524605 436568203 944681886 696229808 124548292 909332405 565793001 554934031 704675082 109851467 755758815 595598503 182657662 995811948 941644045 201136474 559362574 587972095 844941199 258189247 436175365 113139305 384749128 219817946 721648765 358949157 292712396 209492800 845503037 330425967 112566248 184973904 141794701 962247020 571805951 504369532 583628187 699889258 342364512 778759325 270748873 409557072 744067315 492883092 316898992 575834720 796323166 120093940 954348693 147524479 828112926 497957848 998368464 997576041 300686146 922052848 309602626 771994399 798718458 637405744 422555918 668032501 939978548 851321622 858345555 932440969 315973587 506476309 666364319 344626677 303359775 435918050 146050471 156733237 252500862 309284154 999569910 778628350 654249432 251343935 635261996 761866774 573660322 116962234 591403435 916713320 152691348 481922565 567929371 356631637 823535084 506570342 812440245 188440012 129062473 341865046 193648018 250815626 395412915 208174234 635155878 337802846 653018803 681314949 334170985 881319477 902119958 339394192 971125055 925120772 690803470 462363359 959543977 544324810 622797809 866205875 370750338 215578928 875771153 175728589 576294643 511762550 345687093 878676081 213161929 888801233 831860601 218270674 767927785 887073207 281353528 414036905 546300734 268861604 914771463 270536588 291887786 281439113 917193066 177520069 440603543 244545921 769767160 719642449 887711346 506889384 883656685 782940105 287908054 837962512 888866997 301246211 847727536 681651714 899290541 646626526 432635600 339828249 630938497 536130569 107405956 237296082 375423377 238985151 324706284 405616514 345245496 827040395 398501315 497631031 488618516 750129443 943582880 724724539 614013585 927725919 914828938 622672860 987261853 801725193 338662263 122154950 603117143 277599709 698895347 255982499 463997576 567824214 847576472 618332896 625158084 351442307 128588945 946503854 687447937 229597808 826254717 123053225 348831188 607694201 234009284 268449646 931308148 788683827 157368572 886701948 969637775 902056060 685933805 903112529 634620222 136317893 645820690 247616111 927571226 221705778 591537022 290545591 203043084 504918835 181195525 451708440 322314998 239407060 728192355 330537074 457836693 151448969 843059508 544627848 341190750 215708553 964367333 686145212 408073774 233368675 991145149 945820512 473892129 713872322 630163145 651464856 185747693 135300659 817985402 984172663 237118328 440460985 113152729 139868816 245779141 422338637 773259864 292732489 950524390 230756386 769709068 252172241 889639043 667779398 810398829 503266425 575512427 403406069 670439209 426651352 790142181 919921504 153870532 472362358 908148686 795628347 941675670 547042403 337580557 953177543 668243243 766648507 529398968 817976846 960699827 631785567 215728301 832043885 823661998 263976627 520213135 907664971 158961235 688371962 437558548 223003640 229447855 724925824 514183932 825864308 414229662 965353100 471325570 147307281 877377842 393431880 250664356 731535332 430080213 686641809 866605030 821450930 218780891 393663453 393137435 409346670 132550407 407752355 214974784 251276490 247830968 771014251 503308533 242455094 476887962 655524474 945113614 803905623 441261407 798832900 582111464 553301652 808168347 791527415 907956834 719180120 277657659 489176829 978390375 358772077 253308208 964573724 633134756 362733633 431918910 198710838 758818518 192624248 614465459 153325418 499136162 244106491 110164156 462754059 551837500 396541232 795708366 522536573 852580005 104916285 720789902 922363110 338043738 705791900 307708820 896669480 830404970 593706024 498916387 929173542 768584733 559230906 824227819 410959443 816529953 453761061 165879609 953684135 855751860 354005179 577410849 634171806 259099517 601590712 337974174 836062376 457011864 969272003 216015736 433695448 125665504 276167284 941622301 783246455 576738189 648972635 949967303 966801540 517513084 577452006 821355462 792708503 147118558 969590573 107838555 731803945 876458728 972354584 416335410 651599382 515929781 709259901 535990248 120687537 905609655 956254330 685942654 232949614 456936413 466606451 340301241 287635715 297578330 770539143 872280257 966839448 282432361 601595417 287830525 856050468 335178714 429742907 752148096 774141608 212220235 238936290 446536348 531091330 422618947 858155509 658181649 859246321 751571880 507466462 718719893 591534254 386683114 360670153 701596787 759564491 792939679 502283937 565856773 545928854 634832103 374239146 398698543 894992898 962785754 322371296 992118349 511530541 586830837 283714910 804125316 659373239 386611937 633073696 911941726 574818849 503540780 418124223 824314751 320113720 293108734 676880865 905981279 944262314 783087527 763158418 534375882 415854936 723140415 708762939 200938010 344524684 271626536 340330761 921344920 598344829 940756155 391531737 836090755 571358318 132982431 221678665 347594097 258371919 976133302 469640356 328962327 327464229 177034806 520224940 995453927 383456360 887683073 562795733 612262688 767825468 741203153 889120572 970839592 472399281 224898483 789543756 158393498 483035690 688849171 596049342 856744007 550981284 544350162 588334946 299988151 767026893 913789425 961947410 880160537 240930834 225807612 381332339 842369807 736976267 791306819 214749192 645968583 838142844 952957833 371032964 580297412 680745183 139885372 395782523 411537368 793831901 960709273 954167785 611085801 412494855 387138340 354199866 698542464 872576091 674815883 171900562 781804973 263683301 976767306 624960412 772312732 763337049 991984208 488999202 552551783 293651180 648372379 310247436 238006492 253788843 159792973 818245507 974196419 961362793 860456553 217096902 481878874 694717837 434534481 997981961 934645113 809891263 660125964 431363781 645398964 150231730 108836554 626142049 315448211 695076700 151301187 531379062 899637302 178615081 306945545 918750456 495186019 915572087 445636181 646005354 363014721 778927068 760064266 504503194 112368346 534474181 142776878 921617655 811281629 656044377 423947473 403111632 597016309 972163196 898522494 929826723 707792643 389466295 735324428 191754197 404396367 498354177 875536691 789865675 310112491 331797314 216170063 312280361 599500884 653982304 823482242 775286356 805222668 346462652 140246914 956184128 761755239 954663533 299804368 965090043 823084856 946592951 653939870 680618355 888868942 623307670 562157146 193768841 914579684 255458958 213799916 559992704 128966839 454113702 181781144 941676518 311002887 192953430 585578592 395504044 209835230 650806760 197890923 230120151 855721247 170740051 655469622 345855742 208359179 435954204 992217152 253430004 291664938 936676191 522831640 602018421 445241907 288592103 318565574 558241748 339206365 370157033 932518870 255437658 609068065 184346951 143175910 124479631 704332245 818434414 991501982 590783651 823695957 989768564 705274602 575828901 874743368 750620759 369901437 974701628 970505797 869689831 713979787 871630510 224938876 102510340 274176334 779523619 688773373 998111042 860773374 639484736 770964625 684067096 873408955 394095263 200575759 743268243 480752943 138603217 788150103 642814594 205042171 764707392 534274442 985309231 808029785 339761098 963857440 917703005 625308550 729632404 941829675 160697804 454899270 674282147 386600179 220547721 624572533 504870666 162613419 718457962 569944232 626917915 906325549 335478058 345060820 175500504 629091369 993923967 632615629 858902350 676879049 324588635 678586492 213528134 406909052 215475771 101389307 408080240 473237446 853017700 639178621 521521224 842144500 434755559 733109751 378424796 898026921 437723238 536771636 211709329 908478665 938429356 742403126 262190456 642703451 677262690 373177426 209796900 398661918 203704825 366055490 588663759 942870436 793545425 925108599 771030184 819600717 732174317 119700679 349116602 697118638 501499079 423676720 206636809 342575826 637945703 710710146 738144359 710495326 979781908 226532753 287366947 486046172 811865018 656590944 225414785 104668928 346515502 911156173 508636607 194893315 178315914 258322971 298537442 178637335 715869669 214398789 153257307 868945461 547937100 859955800 563936316 443460965 265795287 808206965 982239591 816081829 740946325 468134541 400294116 566798717 102497603 201604602 525897373 516882179 712052812 947382915 721902558 566329798 286770460 738225971 490604809 470884343 846397821 630077528 573130548 600803610 170985802 953091166 687336078 228924081 319011681 316408824 405862991 114656042 726974292 130827236 894119173 261760336 708638760 172494574 701500484 233127374 837607218 772886871 803790810 647650482 855918023 750534714 283945872 454758292 490851303 100297680 265507727 542929568 484257008 281590275 707676467 940254929 430178314 209987146 213941379 238560571 370909712 466876069 643113059 765223802 710793243 544886962 980938180 377501273 216741517 994966026 175835473 701774879 896357351 570526761 272558182 658740146 117717557 808022863 585094477 910732305 666903732 532915322 752616941 541152320 936442111 565729512 178212868 133267900 457872972 710454516 301747856 211110953 607485422 910008900 482901213 914993909 771972865 286480846 484524232 218419589 459778350 255869016 245265214 159870949 163110531 411265876 681736214 480976956 991634238 676436157 350001543 915746742 830469754 812898168 955995046 213416274 884765122 685004758 269749091 597765527 206557830 653963710 543759642 767464967 707768027 547009822 684851735 949164420 293794420 679884102 478389430 667506849 405740284 358355283 525743023 271884890 241154432 861831996 890876392 440305811 551967938 173403455 580390310 533449658 937945936 354648507 223073702 367372920 867675133 341666938 266924417 666609360 303315727 144541556 364728250 383318378 494751121 545271473 290585532 852340270 421221286 149574315 642244989 909611177 542414006 192400980 765329990 179003574 299012857 614073184 979730108 415966400 381227150 221662961 434254715 742789383 702718223 970235148 434728024 505395122 756967250 402654803 456186195 238342011 997073232 188902953 838062033 284591197 660896805 740572940 903382402 181050709 786108355 441213703 277800280 755968745 204125825 931264143 674725355 402214619 405363812 781999135 432696404 143334537 772959473 876085412 479744097 973691711 571636378 802930978 187438774 606958310 618343225 591858139 984350500 972872671 761810661 994807004 274216300 853512586 609007022 905025237 436696346 980411462 436393971 574658878 644118864 984434661 177359503 982772720 414234285 960989479 259526135 758363838 533559580 563512324 197449820 204174878 928243725 234348595 138017451 321045537 631138311 527896195 421769941 561299461 364610408 832880424 747264340 101286302 769799882 744197343 418061414 608180223 338108642 765505025 808604558 492583826 312952962 886522969 658522195 636558016 308751229 567503757 123623053 562106071 850663177 397175785 171976981 753425686 175816394 475611697 717770822 997959520 295841436 212251975 507898470 427211696 402899555 880325499 786443097 211128961 522331348 162364715 799214211 751227017 133536681 814458680 184964614 730489158 982766102 676615559 286726668 238228074 980094134 317402243 280986870 287521673 758811975 502651057 370326303 786079939 215425894 471362677 949581731 501274025 831492189 698844951 977842843 407093988 436097513 297649693 387417918 134304673 784727683 437898694 773222039 735511312 232159266 688507066 811267783 558291522 451920231 179712736 795698813 420300438 973255775 871576126 827611958 499376097 477150750 178056919 532581684 710806589 984137547 636786639 511746882 565534171 782266762 116920537 785588368 195324813 651082444 317659845 261318678 505321171 289399688 840998344 447774198 980431100 949768386 320863206 413276282 409344960 686955092 108445024 189576046 730632257 561196746 188114909 983685682 772460157 265453837 176364797 449025825 653136818 447800437 347901029 118904662 248804405 507392520 848902407 783202257 768818974 951930179 519115827 180474225 256497142 651964675 380727365 225942447 161687678 247720915 692966608 364192825 103002545 586059317 404703624 113465760 671140276 226905477 371033370 518745821 985078567 765933526 264901939 606785203 924749747 117702309 630735896 585689647 499910514 981063358 332178268 764017927 597143443 526638928 952783862 493212341 197712050 272456517 221513829 781931895 544728396 148979491 703949683 956115082 252304347 443519651 906237411 323385291 805274390 522071119 300322114 838774188 415212667 677021108 971810227 386927086 193082091 129393362 303371300 512671165 595332994 147761442 422300908 484161978 485781002 390367374 875706799 561420102 143182105 555339030 507689010 445946623 855571591 921255521 446159613 227173862 938068718 584475702 415348289 866536383 554098266 778613583 129521721 149758983 359998230 972666754 104461959 446306035 742926142 138007748 859259149 107745285 694005962 805871889 637036490 216252805 456776070 569158873 648640572 163377065 641564611 381622836 505976380 199245698 618456320 385262829 437018129 253944137 611996436 584424174 776379333 491578884 247954218 839815193 476237867 758362018 601619876 763776951 831596518 794180685 808809603 693257218 406605576 403095362 232324833 342424776 907499318 220151597 956320484 485818892 135444907 333216983 309390659 584310596 725723973 205927188 439110400 223849945 298750360 349113212 163351601 460159148 283945576 159827702 561702431 305976627 641425689 847071008 646991773 895005859 700910429 438382393 632287105 604484312 207878297 771900708 605732800 347831287 462910711 819069978 446290471 374661194 883797645 102919597 976993832 666257148 690486566 890984679 809826202 549543184 296103044 894602301 592972599 833467625 652258098 418019344 412505938 916324548 514975605 711298316 783137745 710022901 323948533 213883127 201730427 603634364 226499894 487936501 338116069 119127428 312755739 599513679 765712327 293374545 533170960 653040327 643276298 118630925 789280017 287538830 412133288 829602778 931997231 698900971 858719082 851162987 738480370 382344476 167151786 153956970 386134823 636910936 222730401 599556425 734404622 288630381 737161242 792134074 763700139 131867630 772729524 301076267 788525907 535339586 613713869 171418466 191616039 250018752 958490489 457801865 414037554 744363908 120671656 660500032 692557388 885620580 967612925 121616150 967107359 213115825 874338740 490144264 406830636 547744047 638514688 784037608 562121459 452956460 944313739 904212922 749400600 474432761 932252781 780171964 977028706 505973514 234673760 492896245 659663165 639924493 550665673 765835014 481394092 515758688 233782434 991072099 186955422 378369939 925214856 478226677 110682529 163599207 424326381 991652198 967212369 773093012 772792332 413972059 920484605 344064335 412287298 791388381 465448728 609104282 650803242 738085615 236517863 360379524 738402772 694551543 540855441 819514751 835177199 543679128 196131792 945810811 876278051 987659946 230046428 223811481 231595548 464002816 370739294 466648210 837031509 861490126 312056278 516882294 993178783 635207407 833127206 500135907 602533311 220290056 256705364 462436760 382462517 563145093 730451785 714321135 156953589 869121645 663648030 489269628 313631835 550934041 203986354 956743153 295807554 879394814 811682728 410186497 836947528 482589514 292267079 613005234 170901255 574573564 545777524 803125265 549382886 226812047 188749884 643730463 429785702 636986638 734874224 104218376 470097814 879720421 141246118 316331494 100103096 740548204 319483111 969017815 815212664 986104168 463955440 825014128 195196286 966729208 342541266 754792936 168201403 443412516 885740171 583679449 638550710 373105933 522092130 941163476 392909140 892332011 486853301 261882210 299894937 768695046 209747665 473743228 305839472 707375663 724988761 844902531 759834236 966881597 421542088 814163554 483542777 453907100 805411437 840570873 942329943 374832548 315228966 591865502 787292805 932011482 328387013 289089234 793127521 691349990 776947012 236246901 398159518 569851135 127060762 356924801 700097733 596216584 838402621 910819831 970432338 980637784 875968396 488073349 136348284 829863567 615656160 968120680 404511427 968412463 126399147 559365391 564089301 831953342 430805019 330583433 351904506 340812201 626131323 854144904 606342874 994923543 489465590 927708317 514709658 179333960 293533071 108736220 917823296 383564145 554866969 359634395 433625558 427830475 761984904 220039657 393699522 199848095 965424628 824282856 980694637 399393949 377813464 374197686 159787095 613475646 956754882 785589953 107482420 177165836 120719821 994244121 352557903 368618416 769932841 322329396 712847994 656746387 123810895 615525323 594154679 246191372 708102354 942021854 133857694 652859539 105178584 606354596 998250605 496290862 439863275 745130013 631263278 202632564 277997734 398630714 569490315 995843932 896905591 885776029 406092044 335109047 548532001 648780359 977098648 766210471 617287589 970920023 929239848 378612699 399088049 811131746 289885623 611165529 991643128 913934413 436383992 290085735 967739705 639827610 148317968 465490055 716375330 170695517 379223618 627486904 400851082 458790079 836681086 792133524 974635365 942406466 644177714 910436793 303893378 710641375 535352864 602208214 202424248 114881164 957034708 840981720 376899687 893746180 232469305 613691547 797503021 772937963 156775968 557393800 213709963 693397329 172293474 520119261 964093362 973727303 715647552 411141701 571399006 515961262 340524291 189674777 681832356 920297023 843435578 447226849 320393774 432176442 478183955 642650721 213242017 336794909 806279044 884432723 352778726 605603635 797522708 965493580 800447648 590620158 385299626 442786080 909063928 636625845 514896790 745684636 449604757 340236973 315629489 415271293 546113467 706160872 284894558 456153498 716737812 933481734 143206415 206415681 352053218 679508974 571246350 666310592 204297049 400752074 600580819 431954185 769681853 547431309 280589509 239272788 992119740 663801814 642612146 593605729 455592434 272747234 536876425 416750980 692375567 255306079 593554247 484987149 221303432 855323479 184146934 385399178 245347934 722148966 598824418 520110183 289841749 770324016 514103869 927950648 218589462 675877337 728659447 753485150 321110170 547627545 922458932 694826368 293229711 353279743 643675529 207337320 634000217 646199478 790370976 835219184 208459448 906520576 943114411 512288899 642528143 269648846 518394815 675567355 909787020 224347751 964293988 951578028 958769174 945934028 121184792 409810868 135214656 634017496 509190035 586318159 906278480 328660806 578550948 580604316 806708667 575649223 663868115 395217611 783155745 276918473 582178635 185710901 446516919 905732288 340627113 466295508 186998385 396532039 351477726 595884414 747446791 660234753 307316041 182554806 118957345 791690055 663408741 864384856 281910637 497604418 835364409 115187633 300285159 520816778 905176021 237319938 427521275 709472896 983593112 163419631 410991743 303647296 865795956 766812436 763721400 787909558 350171850 424122367 438863873 500538756 135840103 674069629 356720196 844491155 143915909 928244778 511854443 667960118 647140896 985588714 678402852 732759480 614599240 158546918 135647545 681302111 342815871 732457381 956283347 644940210 219465923 472733803 107880928 656491031 863223140 618640851 569942523 432172474 764513895 101561360 587538362 300751287 206061761 583659698 343681962 975252930 757676625 378884731 950138773 826610741 372917859 854713487 451706031 434763161 635882934 781607428 846482542 648325253 663224622 617762042 588594470 823685889 842179750 449222046 897870262 143286845 716292228 891595002 430717083 818281508 156739047 565683857 165757222 962191378 420966490 545802677 625429034 448429101 710405842 160111173 229807146 149395728 643871890 681325727 860064427 695923887 822725154 762834254 400817980 207872257 153912120 722660704 249512655 399717344 252261055 120636719 622165197 433426800 459625208 278228125 413810026 321782960 579335998 517095047 233153832 238647780 578485916 804139414 970902702 976102023 835379846 615234756 177816170 415213682 128286912 488755371 272198964 827900597 522213930 759690085 863801002 207077051 747392437 152839337 296882034 943178463 246782364 926725320 135730380 207374942 899126602 332774852 843338215 123202374 769289504 442072368 790356160 839240354 736811531 683958125 536426137 873304410 542152046 115208316 696744556 502818917 580465857 918187957 599411542 323713150 574964670 971300667 187746894 895007973 936689168 558050805 110064228 760566458 506385694 935069697 139244251 243566597 572498463 368521068 807172812 213604803 395633113 454109282 886900977 736368051 998236588 196169018 444510001 775693393 897453373 221873533 782964385 311958876 673018358 549032058 353498782 564617377 313516452 101444197 274521747 938792557 268529248 221452964 755659414 904354089 267754298 726953450 624502295 831171978 127006740 500593107 971527612 487963853 605629737 383283514 141188872 346268077 214483762 146059726 851587085 228605735 504011504 320060658 405429323 213757113 228242401 552235521 926528405 232891453 986537768 943348479 849390098 444999474 733235821 114219612 610363571 593555911 456002541 813650024 151361259 649208252 798924546 620065431 204662104 107284313 635094553 985603726 712343784 998182115 798365618 505871115 349226941 427240407 835707991 518064979 480031401 319522766 667411507 616035011 592944283 659322027 289419914 244160210 421396736 501375752 152163100 683254566 406109830 456678099 753694315 616808510 853983800 560275379 980883703 564667885 568584458 691943767 378259233 174640269 362807364 672652951 737697789 451093942 698220955 741768491 593888962 476193742 400717166 456745972 734047188 536978385 551359339 688418024 984553096 785158323 671209412 172993106 939671186 676432078 338653322 181001053 438238197 594457762 960798879 668811115 860230619 583554192 885393939 878056269 590684450 145243763 275941778 421089854 541839000 314393734 523184879 666755445 728249855 309620300 553003069 820431538 718015150 694798764 141786160 902213128 252876376 515578130 275445949 607930479 566877283 892327449 135121543 751222740 285785427 906266633 249216770 233755122 878590608 820452305 793306034 899124534 983561411 214038698 321279100 433158390 827686195 114219713 498173548 631621778 967533679 577395601 809036929 486700997 626846650 682972347 985850506 457561524 257968261 871983261 480521896 633869264 350794910 910418081 501757817 198015070 431133579 374050819 715567147 934591196 866770446 626481802 238607311 869191171 647580930 797398743 944305541 567514277 241777243 319144485 961863136 117868205 637661230 574788023 402331546 623038880 130791256 665462497 821497729 864197112 338684045 592685213 589470488 836611449 872341844 347470821 567510669 711054805 370045148 864885746 396486476 673120240 379508548 781709176 297554650 928436181 964234444 603192657 702994489 194855386 259482837 116008408 601963320 153989308 491703126 334737963 207001811 246462926 759274317 310309407 991255179 627887682 884038040 353415972 893428284 832614362 596501310 442376583 790590402 441459825 343965371 678678309 950124087 712060753 494699677 627270331 804384783 966240467 147158896 785774754 949803518 777879616 229240884 596767799 990180971 249420836 498916832 442706195 346147889 674104077 929327068 121936888 762189900 607537568 611568524 228665955 447286643 361503874 265892616 757105826 164928151 872557519 859816616 317384189 686769261 408919414 777615133 790057234 123612672 509045849 461601812 521906450 703885275 656876754 118944137 683999944 685660079 412715544 790642543 852024021 820693179 129425580 683929782 462021585 728919759 323040802 868209243 531940452 202379922 427587173 175189074 819702118 822425989 839796865 996748401 641557626 445850309 502640468 323941942 911808546 360942078 532150599 881213702 671981996 819565755 682113785 498257562 478592704 468742894 219516902 236520278 936725115 546960173 173398390 321544958 866629576 173904872 819040498 892631013 879475251 449463527 443518773 490677896 993417351 570061118 875150714 112413047 182208078 575408858 489838321 578259778 731057427 646455076 848772013 147846873 726380519 585243263 783502897 817103575 348019719 598666577 997883658 367877250 310825306 389615914 739436618 260072896 600834657 366152256 982398525 620519184 263067008 438681662 492769847 790175392 652279234 253354206 592103685 420245681 364776059 831884781 931827668 559604338 292118769 122260440 800885388 515205933 705949845 124817450 275445561 802351306 692680943 367105772 654001020 410229965 460197871 361363868 892867824 100887612 944832964 348250190 988955408 744160733 802897747 150463443 268610932 532187723 378942864 965555525 428574548 796089284 968285037 713946705 127125429 604381578 575507357 657458805 887822028 140367369 311013566 230714176 437768520 571979689 107013451 999306911 896564334 347282664 527727420 310522940 953048541 590037901 927981524 264964347 535693871 323857500 274245111 682916714 666051282 941192532 318126531 980567626 334559148 388901786 774131403 169211013 332753285 595483893 811508914 666436193 929190165 326703828 162565426 799440438 296130551 537525664 658651916 583570302 426911908 970528401 761109035 223374372 696649042 568010850 562684433 634725139 275908780 498011920 393257634 501390765 535193461 716335135 931823936 906223300 747626721 471096114 103902982 977673205 527400424 464771137 283156524 929211286 498954562 391720046 388883034 363783506 451805645 603176579 379708232 428569956 390573080 451411539 882455147 190130029 809238880 310730007 720217611 391043775 260233554 147145535 464621559 857268957 711854975 777551549 585313934 507968567 416240668 807783048 418568154 969318038 196770877 768406398 838599132 743854842 666979412 741797401 853902313 345841664 401625204 664333370 421971005 900246074 706836984 438124571 561330271 697141819 329659051 747543251 596013777 247764346 977668538 873439076 575822128 566624631 730311801 547898580 456252647 841560904 253123192 589313492 264835242 204796373 209089885 174211449 381634850 541831700 694747638 384597988 531864435 515212616 503815907 620276567 505922657 876370348 999443556 593367380 448680031 338613240 423639733 250269851 819613109 257955694 245831436 341865623 669247714 797991752 126755615 824490994 843568560 927151378 678778962 207078568 876243002 628713176 538434709 731897773 225266351 265556303 712581639 289814106 146105093 252439040 104875979 366871042 463495812 212531634 814884322 448881533 392882081 877786840 984457457 958975571 895510906 432245096 965881258 647287588 346167126 305277546 350834772 478307417 179209655 894802811 526389398 501598905 355197864 876670451 256164840 927947557 921293292 367910339 960307569 216742529 357696496 633563096 481452066 719369489 294123966 833132786 594557630 449345321 805495402 662585394 303421494 764407622 392628008 172895990 575638422 225044218 272106484 572893793 961423796 943678950 278547368 764330860 162450978 185198500 785332397 287467853 954225390 275948117 669299551 395934047 509842522 638181006 275897115 292468919 963285862 168264192 896983561 565977502 413649170 892258822 280343079 978213847 446847389 663616617 222288786 904584764 206786897 547042273 459171155 458008649 904415296 535947707 737429859 380030526 740516718 183481911 440607448 102358406 771456853 288150424 809115338 829125621 668252168 592063008 470100492 627846151 315801551 562555071 249553167 791004643 760598100 862499748 843060407 976795554 409167025 583102096 761817451 773554292 775600959 759507928 855121946 428267544 787532901 765392744 116235532 991243464 750129367 789030093 865573001 860249616 122756930 511546787 562278875 748061828 759627371 509184387 758153302 203139075 420413077 993519509 307281629 720618357 568666667 822186202 475936607 923738955 192180346 537887785 739128144 964817125 885890590 382208794 472992272 956372944 485664401 952134083 537752043 329723852 404311947 413768729 173579173 892275885 434253158 377719152 563657110 117587524 965748471 900892802 562495473 254335879 902854856 861679714 321305851 857761570 571345861 253818043 590725122 350259168 783777867 839973268 617960937 377724872 485602345 945003268 713115118 456702177 221156283 340884359 735551961 702648802 775681024 943390312 905703674 166600482 506590616 865659728 221935165 268256202 647120511 674470770 824090686 979403475 929789730 771463690 475725582 558393474 899422305 644281208 784928765 327285887 913131910 231043143 859963406 565580419 585688611 856040570 848548893 781367105 995413484 418131043 715817084 963748957 447084258 909127064 516996035 598911808 389640004 790777886 287291737 784202822 444478908 529687955 241467511 901131785 425871704 287658287 384364644 679048710 949203841 364043758 406024498 143497925 349200549 441317843 771521687 418617704 708921235 526343322 422667078 194061754 196735146 446669518 799955167 421444462 126479776 906118339 216377294 992165219 393080569 841354680 742434197 606239714 655256542 740058317 313366270 173246083 123058677 657234570 357138903 950205996 652045194 708520852 648835980 233587326 724143214 675344390 231061985 951285996 441711557 146870446 552059898 194838338 150565315 211501658 104177385 804915428 414950044 722544190 204835332 752516267 604922665 330319938 657930381 537958888 383138317 250594966 232036894 633535258 816833772 477068840 163068438 930880865 808070833 508292772 934928523 158948938 676392765 736721322 276869538 772409734 510088438 488761917 700440323 480336667 510229718 263231762 322825625 268407739 966149381 379326158 692816039 813936974 293505164 250734552 285998208 169407665 860271519 324564583 195617476 359188179 457780591 854450282 628465780 179993448 378585985 317765121 492882665 611507216 307021872 442605807 780133390 780260038 128763770 914804900 606781336 991068686 434727680 470577235 304918088 134795005 366384099 942960162 429932620 500269166 828395696 373687670 514535425 876955718 348771489 486985539 313121569 201370514 375607448 769043049 553029681 906654741 757406139 609463003 181880446 775477515 613099079 679460543 698738949 320271441 360487852 802187024 105342048 410429655 649998891 809130957 735852562 478927813 558759001 591206549 192886748 362660685 352918043 282822426 961834434 116702387 497811538 569004638 984619630 460287665 373100298 671377384 582044089 510611890 563617461 968926479 125858871 648192377 574700318 696981141 182787212 195660419 893354930 956340204 468077365 209605005 367802714 689811486 355837716 949163477 185274038 878627764 313598480 740039331 357757151 899774361 135195852 900005910 730756725 444084331 887575385 269739273 969452088 844784268 853117064 693375864 338895569 297867612 171598910 801890261 808046409 127788342 345863135 179398856 998257213 358031727 772058812 764434160 664460765 976718616 879579849 259201318 168708290 382496960 825718041 420188089 602710543 789227131 612823419 152764840 707735374 806505359 166787911 793138713 409762699 292296605 481199680 882742887 153085883 399826233 765518320 271214225 833109979 788765799 139909701 715870220 958518354 766039595 262364449 429033742 922145246 679528893 384867332 750699815 778777102 864882352 129886059 766514645 325971180 721957579 611399892 139694969 612323964 239651574 270705702 468155328 552559611 180731226 725805181 606692295 998767877 639512504 111733211 787836265 608900315 388309182 263349280 841805377 214527527 657210051 981094758 938666342 130130039 439530903 526875248 629680025 986474829 902631973 940694253 812077371 410070197 394640162 912550103 548524386 921529033 695715138 404138925 132580780 517281326 227939470 812082567 997050906 749163371 543910208 843845597 574191256 477486126 965270610 137537086 137162790 276373426 844679939 818717229 236068487 103670020 220540887 571218486 347793664 553117331 207993800 628262013 929371034 208912904 424612806 877712089 696040917 349832714 284937911 327765136 856151350 678732091 705102997 382211391 778838400 780618847 310942827 955463721 678073868 179875804 723748983 875624435 925107780 288958577 575294877 125983282 103035769 320830515 264292884 198263024 436348857 251733952 500064748 498946146 904571347 780870252 865851181 288872544 240105759 610212297 835535211 443792311 708676802 107254431 981345011 150501752 418499835 334443374 329881946 322388764 981121228 603870332 246045145 725784101 230679937 262485978 830732640 442764333 936351665 390967455 984009376 837758414 446867646 830120741 861088637 553218157 139894608 888273603 929723820 324002007 747018642 532295976 672799724 851650081 303507497 812407891 481358439 252510893 322213377 918334883 443893219 979255277 189218519 967845929 876676242 280362672 386531331 987972559 657118438 300352185 844869937 378836403 788868940 148612262 854189256 545429193 640102289 510465800 975514322 388620507 312933177 300822169 358209642 658960780 153135491 560817154 862531911 703998626 769652087 964088510 565095050 117918429 981712753 615728605 876659512 444546488 902756935 830695851 287010107 120440591 795241483 553326957 349880761 175350895 871718458 709430898 716332714 864449291 315746112 937123003 542696808 897637960 526434804 704192170 157909125 952144712 641582426 942206078 208490929 888185587 699216459 712886707 318599646 203654069 392275014 245834432 674174460 916948160 538839496 102250076 888417092 532037798 649705702 217535326 771301991 862778866 799038051 247517865 424895347 421782398 721665048 447787778 634941852 831264153 183842969 837286297 570107876 637493563 685762569 642193218 928450842 939301758 157409606 928804118 380451715 256548040 695416982 103330480 137151118 643139181 583611378 719153846 585974744 549485482 424905247 624466976 160242382 609561462 495199961 233621585 719172131 294988185 860471959 947724036 730096335 895077836 991191232 750837010 561904882 738413097 750765255 524664339 454472829 145184354 323163839 502414252 388150906 277537799 144701452 263363982 249586492 186195193 476440403 124590607 145904026 297482628 929476233 129762818 806526255 918410493 336263639 529961614 132347192 735216297 753585896 366077107 589036107 375127249 966360040 422275335 293549075 465383490 497023003 822274395 501473522 199952633 316324891 511349140 336083019 799208153 753406541 751838447 689553335 538448003 675405741 436367731 196665761 647422007 698753505 635771175 763469488 964564891 951333607 527238818 680000739 892752423 845479467 694168576 422347765 481239392 367619070 211339983 787284390 759251207 531397887 301378455 744064339 329933478 367301732 334913205 131664704 795902528 394955635 436802822 761069958 188868046 758034403 636386921 845589975 175166162 624735324 538460934 989530077 473358180 774468853 250775955 408578745 920485577 788019827 606745024 345994339 511061388 724223317 638392021 714621310 157658095 720358439 685750275 728045936 608947735 139618175 767369629 755093863 589680157 261381338 704867490 628544749 297732300 288064242 500600741 652264609 549997758 222731447 169382333 713794696 311556543 321603386 652959697 677764104 541716680 190459321 390457350 540586680 536807396 157644527 147434387 598132700 399650980 342268574 895523952 631700536 745454027 323246331 327449454 866270328 146055459 346379106 278582694 974258425 575274725 235961886 294241979 191284968 965330664 135814868 525481140 440776268 843216059 444833317 975566736 470541383 944762988 244863870 736115830 899738243 302250752 852501016 248748702 109517001 817623701 608252239 498453720 954877349 753266937 824584276 950304561 523458869 284261697 302945461 532013142 488994061 498993524 879434799 485578976 767904955 321801864 136671427 754873912 347720805 657075456 575588348 470545325 532551786 699891198 441600885 881918155 421910408 447077522 798646175 352444771 843575495 269467932 108346549 264779459 475978416 799542232 427215575 704427161 454532025 769060717 610230441 722012002 796945415 784137532 926604235 289193881 941627911 488627691 853384941 940918911 171929163 363877584 770754797 517351778 719764552 227655266 267226423 904125096 117580383 402299249 740066092 617332656 800728481 574706541 856327433 809147309 123191403 794899639 671472130 621586251 978387621 266373045 809420957 756976597 666926682 222346862 413862277 297114305 694562624 519269667 211997375 515155751 634429985 257134393 342328350 116190789 405257981 573943831 701044831 234676119 620590618 937868694 597563454 761586833 363270729 712518503 337065322 409797316 193169991 197216755 235673937 510615757 263371661 446355602 569013855 835056471 813220340 804844072 311568984 425644382 477145855 608861098 919654628 239375470 566083225 599934091 200782572 245308823 684251486 183700136 337333712 457723477 832447017 763951017 759917695 586005825 622178470 997030865 383924727 279577242 440818108 707133943 355227374 898995795 697919881 739381199 118421081 588471772 956387759 537812620 279646906 973239359 857847409 916906476 748254090 509320482 516881203 229897437 210334095 469736826 880914045 570210515 295521801 359821755 556553716 725358423 777852541 592086750 881183408 686234812 796649922 689436686 756882935 414963905 476046387 428411342 198204648 145351518 964395552 631814173 134254520 467167427 952421163 249484011 314259099 527363091 990049200 407284620 786735436 863460715 576879271 890042729 859576653 851594498 973435911 937630456 459987104 869171771 272295132 749476271 308815309 281238604 806321406 968434581 234531809 840288411 114261847 717290058 297804286 777233514 803302929 844770184 385506894 579561441 131344276 911633846 395619755 747756292 741745901 586785337 832023170 265154166 605537552 506882840 164868381 784038611 177160743 654760265 533243534 416666699 176015638 910115495 895180802 372790295 202580776 251293795 465119850 422305515 959243594 607890597 743283713 902569486 767017507 699842352 845229625 670970669 405890945 583555524 532832460 857616280 496439223 746120300 530500111 617382237 361146409 678295248 268983517 705696881 912790270 109141909 128052370 499913265 472808861 610991947 771808849 408056223 139297757 496261276 949335003 829634289 387666007 411786080 519164777 331204799 761183260 386159968 282005469 603886274 754070093 252732630 195230615 383532894 693306504 150646231 210355478 959056870 916465532 352475566 873457304 802775908 377406278 452642615 117849929 549625912 472982400 706137115 268878439 383164338 842390462 711706088 999200923 385863580 123414381 767045263 391178961 299437314 619972586 802320704 114686891 693375409 726888124 996517003 551747997 260789179 588587406 296619497 677518086 624455261 576993888 614179187 192864605 750403509 378370983 672053186 758477875 614287306 857122077 148798692 226101720 537147094 628689194 519345992 234096476 796832547 952476217 753070857 794007910 722067241 566855874 594950043 110436486 646797506 298461832 265238925 832690092 566951937 494762833 966425707 526060459 594573600 838513109 509011013 915885087 686501019 384869624 421424904 472340807 258889443 620558124 771908477 717377741 733693120 515658071 730823174 327703595 922299520 613071275 200906928 704804441 276895982 496901472 205799652 878613321 210329676 736486594 469299858 562664123 132729312 710547045 581628655 900429107 209995552 619215451 656876934 877733898 167301171 491671733 890713006 440027144 711122388 631125664 395068758 864430109 281356721 547669210 666362676 646666127 457102436 228340657 959606868 892528132 101443620 803419362 224202381 871468385 519950974 372552166 452943446 631213250 941435456 904158392 142176581 224454947 309902391 211111407 840595704 193785118 597827378 324930461 912124309 270571139 891613683 574733968 308850369 308379128 375397285 661909881 265097189 562658136 964045933 754690660 230978097 334903987 173141281 644714111 788150011 754069944 907257230 407113611 380622017 759495656 154220000 155754528 705163035 946906063 811990715 463687310 661612944 531553556 797127619 284709942 777984703 535336284 384078070 977171741 482604798 921378601 844454376 285563502 242085796 720512768 180674209 757021709 706103190 252211001 104846069 356079310 669599544 790627102 530663887 564260079 491739818 985667471 616843626 170173170 595316781 313137474 252585641 458897099 692935162 403230791 686114381 238341521 424578272 749068981 860873605 777118113 693330379 418898534 664746415 430809978 818742162 208028031 814551482 172619242 762854762 697175920 636301402 902555469 772895923 875256546 204106182 218817413 927353247 650490134 289214007 999962708 730958406 156764003 827876247 744143435 752696399 736563907 203574520 832682805 950463669 589886370 607884413 184002614 630353062 700455124 367210346 667192557 252788374 784560229 530630246 870935117 243503987 417001837 142095046 356798552 661165712 545847340 589083379 511958331 731411023 496708384 577773819 702314270 751688693 612020612 250651413 421541866 428797357 470423396 560260142 425878829 560356337 965958118 736081755 656497765 128875910 292915437 386679368 506580175 744245831 190365171 651591866 256160758 374367182 861491429 607195607 764280984 286837432 164051690 752452139 327529049 344503645 975614174 490926457 479568150 967507917 487959449 834551456 131677924 905553650 469496367 726603565 815921793 803548299 281237510 183144601 364962864 961839930 171822798 803847291 494839434 424678513 127519549 282067820 558030561 829419250 484234153 929052125 612197829 185560797 993095050 939442978 288631699 826060134 337462310 487347896 532216229 831870660 204493835 475241278 138664309 229422323 329193642 141541257 556488375 640398379 525028588 647906040 987035564 211080219 463990909 225845081 641786546 794205848 103388039 834493236 248766923 574377582 634428803 582338914 802078191 254775940 130471653 472164206 513093883 824037002 378744937 335718888 754840255 131892498 191786287 812951772 429722341 690705128 181003767 649353337 749444779 243422690 343099360 118339960 149495922 673558690 494441666 804144742 902444485 497549218 103757450 138257437 734609877 405501360 255792512 976863850 685740625 176249513 128393983 754815485 905744610 529312100 968285025 685445845 176770656 803667342 554532532 926849742 214611036 522225810 446624139 341061432 458782693 391326090 214905321 834247487 324683711 608082903 460282932 725650165 596480635 757968341 837883226 327574006 676691773 539795557 176005621 596323935 917701638 375338807 558685403 336890748 492927294 711624534 466969620 543492015 250991262 388348225 535771167 383584246 174055751 951940200 529419447 283580456 396512237 350787551 310707606 581594090 963023283 357363149 203258791 653486366 861545877 558313053 311972983 613401515 337200466 458493547 843227335 282579694 193508791 283440117 397551763 984265864 607464795 722815691 186794111 473016419 653333888 288552039 480718782 571613418 240149487 665558812 126989075 976563994 482718025 882835226 244359201 647785630 447178346 615787343 546020670 271493905 195220749 290883536 863064537 706991440 190537988 317364514 254322353 551525384 885848512 220837014 482686822 659123695 596008017 658758425 659442671 757761939 405508950 650052761 849049976 278045694 844055307 958430703 186248898 709850963 981052962 884298094 811494820 771437327 530058453 297121876 818557491 475095304 364540065 972984839 507650668 394087093 178822916 404567952 744081298 897943114 396075962 734810894 181044357 834434789 444334674 531576109 465862487 831339388 622348949 735562507 876831119 108594747 270418358 102373056 505905828 352508110 254210491 931034004 918256634 303885061 776907496 531379697 742892524 614586906 870070751 495584533 383666340 198106455 192780733 373846421 685906125 507443418 875574129 470799813 809888903 895914626 470326007 692790052 441275737 997424289 387167017 111108061 426307523 301650529 192625200 911550099 824113544 962604612 733444802 422512663 616352802 371297964 945572711 648821854 296366517 428267811 348026074 365233345 165463896 613154225 559066464 810866078 280304309 550904558 951671257 772148729 890195970 115516404 370975765 132702937 125333541 718330384 454432259 829949414 947909263 564534883 314872217 955422789 262411270 468844171 281830290 835458510 129881846 455217481 784401872 488792344 261831822 918682511 782015549 681062333 283668593 376543836 793613814 767988824 154748534 568495029 125038946 152470889 697172801 464933614 352219904 772524272 151204088 869332310 869696448 938638230 855229319 503020113 889572293 225353962 316832827 376132638 418038503 790942213 556265278 169041852 110234098 862862593 662596001 265968383 607536835 743331282 801793488 129350733 737006698 724377568 799466110 936194808 479308910 784883766 944303735 117432334 846475557 288567962 684835445 146266872 529630007 903198903 660663303 943312198 317160713 249558879 678261252 639799716 318379371 964209064 934957667 439291414 634913909 980244329 796037927 233945185 647686642 422638664 185695816 174562498 841577435 316184555 488255214 493210878 348202756 312775383 508258524 902441201 100961863 381492411 700148110 254258956 431418727 722597427 145704288 429749090 291043066 198070677 908789121 890194348 211484956 918819716 416558996 327836350 656478796 507525370 856861962 310626938 500653138 758853500 424760040 553555972 454450349 366765153 178219630 943799492 170515182 590569891 274954226 977115399 615441846 439279868 640806346 406083114 607985605 133167586 280336719 455269957 163275246 413138441 333356822 944889902 126847635 706063749 473787248 447664720 316318428 361885396 675719327 623551113 549060748 655516303 536655236 801869701 475546773 230384918 375529969 410670973 986336944 948373798 575731495 314298855 807657883 339804123 622475638 746567321 328540373 448490564 958451679 226639032 139910501 304576134 543654109 345246332 591127857 431198025 307820579 544022809 777165453 947148091 695266543 695837533 405200050 936830385 362528871 443156871 394508543 878341559 701830799 469286419 148600403 785069475 506252072 546923834 492914646 819191973 857364211 853609593 555134733 390087739 417590196 458061878 179630210 628586398 318474715 374096967 132778353 949030104 627072796 627658977 803893720 667199808 593239790 585954870 375006128 206861269 324845806 278706811 554561442 327124981 199160470 269963182 569324815 242677408 313872525 660279611 394504181 551605048 519350165 185090261 208332319 470039133 532572323 449927977 943347657 578049339 105486230 432599773 936188875 589069199 291142174 348553610 918246899 719779195 752278070 553396077 442868538 670850147 633096370 661195035 588989797 701653905 449439854 637247390 397412803 319553106 362240382 938690256 974441653 802431099 738676146 910533736 593118792 115817786 249512842 560017964 683122787 994297100 195464611 916459913 395157584 315431741 350051504 683042865 690527839 749054462 790784798 391555434 757696717 176183814 535776936 931499974 410612360 782840511 908108519 682303404 509086969 761050036 572170924 188805283 891562488 373186258 688310382 925823670 897145739 256738348 464701616 878316574 491416586 983391911 657145657 576480324 387892860 789598985 917666926 318816599 372195512 200254397 276565445 276681845 444794845 513604724 857119974 741300206 805617556 816570324 401481779 118210197 102785342 570438337 128129018 320026504 905892024 786105139 469401659 357323500 841078074 408180380 607942806 712214934 530716400 801534562 216564290 316494506 324725751 884202462 598118036 299779594 826336137 148185166 722388106 136433734 850939365 595311244 986304429 414328501 172263377 248823760 214266775 123126788 394181801 647938622 176045094 644115024 139873998 373234411 753449047 601827220 672154632 262243935 332603706 745776498 795133918 597708560 584872473 581081496 782401217 679907479 672036663 300956634 134647681 435660129 465118417 776323822 757356901 967058850 390125308 549941278 539149948 457164530 712531952 524566640 423524631 686569997 680196120 671541947 878056887 407941294 123942393 462455555 150590254 612683422 751281905 860240355 847817718 984716701 705104558 942230670 412255145 683782401 593883789 783069746 148490724 933315962 786892555 644067039 198435675 602184238 653356869 238252546 912782274 114954371 285856701 490481161 589815542 485194590 476453433 794794696 469409792 505175616 265073618 897092764 572606404 606404577 263083925 927789888 931398440 917503082 953728581 228520955 419073737 393707694 630139422 416667301 838889136 573835489 855470392 451718828 737949950 927602086 416657801 564529093 691635822 908846392 231142240 462758116 261978381 784699311 835398990 628919024 534796002 907334527 866901060 535354538 935499856 190906849 547029866 834711112 974756189 803348281 612503106 647463486 809981088 926783194 559760876 314192737 337864925 253649490 984567093 197760540 641551835 617479760 756469860 133940944 294691506 668497073 933543026 437037157 124306127 700821799 546495678 217710684 692873036 773633420 144705908 997931620 583181828 323517857 730419439 220627262 614356847 529792221 299919998 975145372 730659219 728682132 347951002 296376177 719460901 751989354 133118871 863347954 327105963 494796769 124026109 912809534 794905869 353513961 531249859 192001251 205105411 774227760 576619746 873054887 145157173 264768080 610828957 332485976 242907157 689365746 524122297 475945205 904849628 312059156 376012030 944823294 303344512 519157375 645513396 243707752 455447406 678332145 431488704 495138579 309640070 562249287 430354325 471210807 424860710 225707537 200727776 367191357 445727660 829326185 790662643 370703149 901474611 913357337 222698760 992383344 317354993 649772251 760675762 555577076 665217531 533324153 834637057 832360296 139086763 694361897 473888614 562003502 396694382 228683076 586967345 585715816 441165350 778197166 773218972 488545536 349391873 563203297 977307848 224494957 462541223 753063031 310412839 494994863 312321214 882992770 343023575 431502014 655483865 496279745 381903085 136851262 722747129 887931090 652476933 155234193 448581218 987902034 670153156 450977665 886992417 370627223 610328438 175820861 819671854 498836433 436496494 860087740 135937860 990530591 551216709 621753753 488143948 214954678 542568065 743973330 778489320 802626673 395606744 285997230 916649689 956404945 692558197 122342894 935495372 459642609 738682333 694405883 159432895 531693728 739581233 701207398 711573530 497234307 138805350 671907189 679248493 924299460 860931778 146746304 162092795 201874907 858797840 931890184 872017585 985417045 697283402 241910219 415901933 567884293 888308825 704410996 579112107 313540063 147495077 152141048 567281356 645453529 237751565 398809352 816573819 167370302 886271863 166535212 149991333 496286049 415727880 836028841 565805699 913663056 749649211 340526015 217730691 419982561 673059495 195658049 451587209 539121521 586713500 519607468 217567464 306850594 453737417 918644824 840960851 550313161 207690186 180967314 472169651 700890018 420639623 723044353 360745561 987357274 610278782 787022962 154111837 706459149 800302329 149515017 499277374 631874366 524259913 725557153 517940520 889144661 325541123 669862223 705203572 706274859 305954025 516506916 781283607 953464437 244346096 803440064 112698224 308823028 806455274 171137887 930303462 873539021 641516893 636172884 205654290 550209765 890565476 898584093 204923247 715645825 216702552 588109642 469823777 450387076 131475867 952796211 882364613 441035861 660806617 812583714 727132162 508549044 877803472 663647234 885487641 170665991 116462391 386509262 955018446 702179268 163197290 885229151 345207889 692538754 766484847 423357175 624617378 571288170 636014988 718707816 701318425 660152978 295149353 431766050 633083742 448720868 305452409 604608308 464711767 767218102 813321121 208990346 758027029 177787244 715752477 211385993 891347880 831954977 501048905 977094000 486515690 520480443 960145507 728917965 243945245 707490232 697383986 255874403 309865798 362056561 986237598 288665303 323139954 408650836 639275635 162671909 517169213 635300518 654620927 510932133 542233118 495771010 988355014 729020610 359470968 327611536 383117525 564684529 995828112 631341303 972937935 518636115 124916751 859076310 550629829 900353725 771286961 284183036 250110388 508301695 831649510 871633817 678404982 318146451 890492578 353307558 120287395 537060430 719818816 108681624 566670706 429309876 618070848 957659862 818280989 324101142 730176935 761237711 316971148 872048246 937986027 626121540 889440118 358046105 305680227 243052780 156387634 727517046 471317452 982665444 610997582 312606991 765442243 525266303 523720080 609990275 780668165 495217771 376902822 740595933 556956123 167498567 546534440 750260533 728209874 136578421 952018930 384104345 842544748 439629686 674733043 311210619 486540388 860824626 154573779 586030736 991032073 752462291 636683491 893531343 571890018 856423505 297280456 226486855 174631036 130201155 763360112 832362901 612272289 174695778 768049054 619851329 575290745 155489040 975249973 728462643 432935409 418639389 295830596 420869108 113496073 855986705 507046943 794374192 981847316 569277764 143678516 792366384 755990853 599136714 420118719 729929696 905766139 540920868 522816316 814621744 580737211 737842598 411197377 446242470 844296548 667218415 151046424 351688749 450100615 865960407 353804238 790028951 757910548 855037176 275600104 806884313 110385980 998039319 786895931 257724724 712199478 455912787 524251522 801543342 699780983 731714826 670619763 984129462 442743442 977636622 339521023 379783994 729904709 109291496 811743129 586459999 492442253 611340559 861469618 850299711 212204979 314355461 676267410 865268543 119759722 239656406 664109883 656154540 675340988 619083266 835560919 577563333 148868305 367186906 925506151 290908838 209349459 922969527 327411806 140240364 956161430 230046849 327150529 788284412 229272517 806594869 592108062 541512216 374689682 155413974 342107891 709421354 957713451 738035481 309314690 629710560 141910684 577116806 905337669 484638419 932373180 254155351 606790971 502459992 416544757 270234046 173203304 623933657 541685912 451949961 976488747 722593791 720903554 887559079 410299709 961544818 968994359 852050168 907979414 254383854 983053621 704907422 743782794 188519543 973097646 958807999 807999816 657346579 211621395 287546097 562212703 849505993 491138525 564701222 363914606 560046492 708600091 323459875 751422771 453606436 799782439 954078926 774563473 867326863 217886424 334996891 410954081 339151281 999698500 550853598 470767306 252759638 108196058 212939981 860067327 485550752 687202758 356343750 594550612 874851090 870586411 102919781 304159240 648458333 421100222 302800145 573349299 513607251 402571101 802865199 898612837 818946795 676171889 523076420 863653509 866622295 797559152 689385656 641527648 628540986 700151229 260918716 678034830 818824601 294182246 823671521 745579473 832484352 403630089 793097807 584557313 930370887 871614369 960942894 960234853 672880463 683205080 786854761 195608354 430888788 295524300 684707260 868258561 282049205 505625512 102565911 828780360 514680031 804972286 606766440 287960281 306460390 233859596 526316396 246502818 972557667 559962039 872175199 609990799 894053764 347366524 720677291 743636439 636854417 692441687 404565751 620668994 766450419 455997968 341001712 371499506 551958522 602442167 555100988 799318955 422317929 413374547 297614415 849685474 805836997 407976137 916604052 248498827 949624333 438068275 264569230 397911787 947013578 520376892 489844462 277030543 575622353 252598910 680325198 184625411 698201811 166897118 177722455 156629083 147746519 538581846 193686754 603792606 257188512 165697557 732637196 652457944 635904243 155364772 730760390 458557018 689877920 711021739 530879156 692833503 459059541 110154300 649692363 567167943 890544751 596849558 483685816 537783658 922760316 321687140 615146544 295951546 271998829 814916635 655491776 701600800 302882826 787623351 271332111 775992159 573896027 355718144 815967303 189820729 592334727 611844534 192236100 738664239 759263943 334611472 334781322 518255325 514447380 418710984 253367780 302998467 646766508 858871312 319316796 355438164 108154005 564607675 766285714 542235358 476639133 487703039 446869213 352602713 541865477 393946730 974026240 986709786 585414685 323100183 382361057 382171565 387030098 627646726 580547989 346406386 948634755 889465104 401183247 939814483 306531929 684982001 284968954 955517806 605626125 330861498 416083101 669359176 744002754 178030021 789835919 272977601 377741866 313287874 127959739 868942911 112561540 592751869 400589985 522316653 363724285 690410091 969040324 137517310 906142185 340601513 113163598 249105675 851507219 852140258 932109789 305390368 643413837 917906295 887745537 623379885 841105543 317730914 888969168 949060279 854556310 440568950 961502570 120784905 741770869 191192392 393597051 575811304 306279369 635624397 876217459 720409119 464150060 958078615 934506991 967911476 172416030 726501622 378260429 799384148 479865238 379909013 298026324 125385388 547380035 228879764 390914262 166203170 422754978 930769112 729819733 840916900 332702968 584926903 996267248 342630744 812359409 886936144 523110247 830839151 765502185 592966502 793466045 431946859 626970529 583481969 565866025 430144040 592174226 526788829 484670954 234174863 944005407 570454528 847908982 718063309 991743244 578866436 313531381 343137368 314237026 885666559 221709184 599629176 341600195 170260852 297619229 747174254 579054946 937489600 469549723 401325267 187190243 469023218 258027255 780511523 256669222 615130902 478935152 678550442 626890941 940714991 155417673 491361285 454389392 984534862 800860933 743826879 844168625 668722840 525545915 729594955 584887715 683035509 212375899 748553548 763852365 953498997 284153519 241780152 505594981 667116132 386295246 742063518 313038610 730302505 649542807 725171096 912651392 258555061 856490399 579712128 314841163 777465839 512537694 754531739 622446146 681242288 499198803 439764524 308994889 442494706 804000023 619386364 802823626 135148507 736755651 182826100 490797777 711031123 829939518 250597857 564525918 654841160 891844541 621793052 103309299 419022151 380572237 573618454 865610384 684879624 599628070 223102512 847779498 218951483 279956960 123875525 968183231 928224016 644260291 434523372 759292974 421932652 857229281 337898704 691447925 807300665 240438256 180093316 452281788 140570954 658545119 554547854 605014347 707654773 117377923 504855946 310089574 386213156 946517839 828036240 871244867 302568097 767911659 284912055 430572879 902852699 459773949 703576737 756666884 904467058 994857007 447178094 397039787 668701481 224877525 941199090 851650676 789116300 885102015 739313263 523320153 247168668 734181356 908297739 129351601 650866232 617666993 186986622 246817605 255942615 831887506 603994355 128903394 900124846 191952050 542247031 435370859 757870195 858772917 231622974 203355152 403108562 375917695 516098983 474662581 436748513 362561699 680366166 380708222 321162495 186342244 670906615 568343537 389740869 433217983 395696116 237081389 282278822 290721201 697926048 411939915 224291208 527645735 131746695 897564155 423973665 114380149 873386129 172129459 249263749 223243358 129969351 289621394 508231407 627340230 570656409 287409801 524796872 191487545 563363632 161909563 250808211 874537569 339864325 595433423 817005937 549700006 469634002 130597542 876162585 221647314 425943183 308037897 699138774 435198278 891429330 859162838 931297783 296191830 869601535 836546185 895073713 841055958 949894229 449059646 307013721 325831594 727138125 203857806 153527951 899038308 396109584 205964257 764596781 323716115 831461330 839348405 248516725 812606546 410233224 983332123 345116899 764312510 895213578 181409103 318546396 946513328 793023838 788352794 155852170 882534700 335864423 883338405 205801707 871853596 201583490 628751398 447119875 714355277 964760195 669450202 675058521 475570489 347481384 185196942 261580835 801630143 369926913 923547313 910246504 978547428 103390110 480931526 336732313 224362432 599303162 645023922 809946584 676346201 536369631 145025576 160454137 481134985 891774899 493483470 706113733 943690324 756846930 694598727 676391227 282507028 386283281 889332499 907860672 456089944 164395733 478408557 350016946 272632971 589218555 855559115 799320982 857186104 388172242 852691115 869840697 400927404 620432542 540615376 728628760 774235664 353143819 558343504 965987295 960281407 980054713 224711233 347356468 144440609 477976289 833678465 761455345 914191729 979274852 314515131 870676225 102414081 194174189 881486707 489678576 928725843 229982061 168148979 503680393 900804894 761728237 964682418 278095457 907668581 438102015 177559655 409995371 685345469 637780342 571964972 996858589 587295166 444968686 951579773 858730398 404542734 596024332 935138024 959613859 837354002 897305190 242084428 410824589 807994971 732197179 647960410 199065025 988227869 739795442 117720032 657948660 927072884 670022659 498383498 396997684 284215847 610372385 622784491 397156234 609755915 192204345 858345323 811204824 380016880 221412824 201596021 319893846 379068861 250831371 447183128 418047078 223229351 677771949 202191362 339696554 805693984 710143614 667036533 164342158 217483705 637931932 565436313 823936879 490713896 387609694 590402591 872552169 233137829 184867667 433513898 314141208 848234689 942002601 130213103 109918174 949583048 806024839 781019090 379939000 606407953 231797189 826574829 290269988 879090965 532058528 949300167 859859588 821452091 463049508 979816710 696950493 967516978 174139639 525225386 826731044 170641160 660695995 573124983 544884858 720111815 281158965 579373662 538860978 881631825 332687518 664210113 852857650 479354720 503632910 831837960 224613831 607434815 389989503 473208204 254364637 698653663 500488937 298024270 486656065 378134857 609383542 696769728 901458533 154273730 198087882 762753945 565419224 752893260 882231048 210507015 999815580 153909948 344029698 899850735 177422786 862770653 376512710 832471065 245465579 378585105 287851900 457225412 335532357 995345828 571882324 592706653 303446865 111804512 635175270 396998599 895788802 363574634 242919809 901604838 589356382 308095781 912288394 818616273 720884392 879363867 118347363 592602858 606454869 992050754 500346534 408645562 231332286 800149235 425851655 129771818 646016727 175720137 274696506 640155405 623370164 920948092 240426775 169405535 925116922 882678842 279409886 501047541 264323880 466612655 171725995 320695239 559352172 538417157 512071647 483626209 460772650 700514003 707035001 264047608 467950977 921888395 777722399 710420924 226065996 618432500 229352445 245065937 140966798 689442396 617303373 340517483 354877561 932894310 147948057 961897232 419090580 698549456 376025826 674948722 540784704 134250086 567396772 153218005 582072496 261904054 394416238 850721962 241804472 662085251 300505609 582906216 115272221 321696056 757557255 214017120 482103301 437048912 866534681 856435813 523207862 632485983 555483763 519215760 789905255 808600036 933155787 944992804 834010416 912470797 122828003 753634193 681848352 130575474 921894611 474802952 467538900 946294207 930776487 805006791 791857572 907036037 879790798 767708024 178533713 432892344 814657673 217103198 844324639 894727412 804293613 880497544 568519926 647002592 644948401 427496099 997625852 129227284 679669065 542873701 533125806 327108018 301433858 768740069 133330766 162893821 665761208 101322138 746038161 124918615 636376383 252768482 186765194 801413446 319515208 111405581 462927070 913714270 572178971 316637624 587923055 751678238 632699604 372456822 577394837 821573151 873909376 969028572 349745055 557897007 994098545 321829404 283432149 338960534 105639649 650693405 677674769 672851133 293936318 607287452 777861308 689388108 423732079 713798218 543190647 288617442 481637818 938447170 326282410 100175677 957545469 635782026 637709544 357146056 370349452 925491502 244553787 429650377 413261542 213295117 221974444 970481390 225412897 879217816 396536720 272967075 454337254 651431682 179356880 523781721 120023863 150104678 451927046 761475716 756775654 318689266 300907182 415998916 669710702 746653675 364614590 402855910 705064689 482787598 425177416 933837623 652870624 269228097 573229993 389586606 109123945 859950197 533362769 991176980 928272147 588907672 414344571 927078640 530295276 344111997 423036152 459258823 634684703 357825945 906035087 856710045 266394121 972860967 828392977 860507047 779604144 716619049 190932380 206540512 697098884 314384987 747343074 678326200 512283312 471878860 145035594 700798155 175283743 974716968 837353913 197307708 822683246 937157334 822383165 489864059 141224233 197781657 372856557 182754163 628880769 659262218 536757549 943914046 248367678 939862358 216378989 245571326 275098799 332630626 677723895 496103079 186460675 885708350 534324686 577676318 498078603 201865306 522277561 207623297 420240365 558431243 886254303 944860040 278711426 199832842 421116375 592393854 958907072 706934223 341717290 632389768 706524560 148850398 946757193 863055110 825405647 611631425 873450574 714420990 112244703 371589350 213257247 192577481 489535682 111783874 620526576 195575787 714318013 484633477 283321866 869612527 848512282 808073783 838214721 468225848 662517549 644959107 658296896 530152276 451171157 401857951 554782143 481177255 455018511 468295465 848919875 919985373 471073990 994076926 694260255 396191060 241319527 264541155 975509411 447640906 594683104 392639696 448272584 621811743 279493425 320839825 682646869 876539344 223835349 311803520 356577272 243721039 370293473 490910190 842919592 698620476 610603980 775060491 517924072 737382083 572653212 313323255 764825596 694253822 768323078 741382442 409485555 751700549 498613662 839953417 915209819 200642639 510091401 341045363 838264220 667365005 904714026 980773118 533502720 460953037 829282692 731323246 310245099 335071711 373196344 683824385 710524673 564789402 893459213 596677468 955344809 844313950 436015420 276164004 621093736 854426331 956677380 982199271 647806503 915597514 268476199 113863196 227391536 964124754 543784491 129753427 412142298 151492765 635713594 162874047 638871551 742282657 168069690 468994770 783920494 632495456 545802360 373969115 152221743 407049440 487531013 631181161 276816861 616368892 681643020 993769360 570362612 482897249 425265960 567147251 330054776 887404208 892154364 486235294 758118504 471611200 441062616 882009109 757186156 199101144 662436246 182675543 871848700 264104447 789647462 306013302 441621630 699766911 581194204 331139487 386228244 885500757 175874229 865232196 325019141 943126163 163018211 427148890 520208653 989308076 164640619 833789422 830464971 965176113 309681232 275401297 811714565 978576026 773847718 741300400 258114978 733686311 719956339 917049974 796886875 219739006 328014999 830364004 795456449 698173509 724474956 325329663 327604060 326034252 160110559 765852436 126855119 132701227 532571868 483974673 830065483 691167743 440079814 821182073 740079115 286946231 813283305 789503996 642320520 741631273 836937421 770730585 659131983 112690514 408578514 287291023 419909070 432911731 258457796 862652758 185063241 483181875 729741213 139376898 834177527 438313962 384613317 239997464 278018260 951520501 676545046 830491736 388990279 129549475 732138825 256559640 528923151 258525686 515257498 938904240 594872220 438522963 780089254 734036331 430228486 510727189 200893381 365754257 290247620 389108926 853335801 598335132 169170397 267929020 594700066 690720312 798788557 505716446 639610697 555599155 748566907 299073148 456005434 491237288 535468211 943575303 672347030 370234153 969776518 772915820 891662698 298663005 332335473 922881690 191831530 843807387 666358400 399128297 986314878 546972218 864652686 626375724 100040264 695563659 982251127 783457217 951768114 795996026 687050591 728826135 884267476 560427585 213609819 509702344 642435097 771044018 937456987 837642563 888441383 991242476 428266701 266725655 963393513 224877890 432869657 865175161 617175679 990176736 722819812 335404702 830087044 362781012 540253283 128267248 850546431 982215277 867170598 249992409 719787416 105992701 539686573 911544568 807148922 805411806 704247502 176581100 761401951 436153015 614568975 736503814 150101673 611846613 377399119 927240387 511953778 191175913 994554110 623283152 147285553 351433655 789193881 963273748 753876079 894522810 149587746 763493736 433611442 378940135 190653778 544866838 968336950 784142250 982372838 747225089 612072689 357742810 816126048 311240996 887159606 762583169 375853238 181209688 433965434 168809060 723230033 533291819 302792824 404224286 941514088 173035229 392998455 178522552 593327609 983191349 470716636 315713654 764094741 624614961 380266553 512424308 502021335 817235088 531465083 648508927 588539651 818300827 562648871 213303159 447658030 799745115 475804526 485046981 411332501 258953203 360123514 531953583 707429659 719687507 460745248 868240762 702657894 550490810 548882006 544814629 512879380 322909555 111347150 668568104 944952413 525422836 286791016 809345410 951312496 334341347 386372921 682055687 474144408 568900653 260444163 652409305 711231371 138156295 625373152 188757621 361605460 387844132 610915389 311806667 705037015 118530088 299225622 372486857 892567231 630525782 774165565 366661404 400635121 427313758 856877941 537312197 586104838 681898364 766193560 943384367 425135596 236846536 874457684 978086594 587537070 669974427 942226686 971268986 937304334 591464586 538092243 518011006 177563480 777675800 188758121 964780958 892520311 619716780 327765872 473254009 970552386 393549873 564108000 437242527 264278204 365134420 906912731 116920860 482200147 873916380 513464469 285366558 750895378 602194538 169204400 166437025 848047846 779465866 973954506 430313156 991095996 447983773 311874803 400566785 510572629 620557885 238871324 888849925 162209308 465340312 875451046 270941979 223820776 812202464 933683620 871179778 391633543 625718358 195594101 404660350 282785463 368841856 859434750 716147696 531440977 111207298 176649561 929822905 237432018 681924838 417097977 203129191 519697429 174071847 801367880 213214242 152785774 498978451 487701514 179884117 254301021 725358611 816309334 600907873 985023280 723130097 357927973 779095438 121197804 508641494 425222287 705678644 679272789 391820165 490661769 578755811 279140072 725346631 450568039 944402792 408987606 675368301 320250579 190666922 569111573 425888184 566432293 164267591 578477430 557785807 897045881 230779151 246477942 452460300 431430117 361320518 420527549 864835106 599815087 996679278 107717235 188005691 641213230 722170192 807981135 681049538 958720273 992757032 629193480 149479166 850297387 670137844 832880087 149252912 237779189 829084448 762386385 487015029 286748362 902946353 290214289 282503178 689656715 412229267 895629753 142941028 620458421 836583423 131663654 915748688 208340748 194924777 182580397 540733787 810285518 470234288 880118595 139941334 581060259 858725516 369502318 602902886 498564116 968468562 988161084 730348057 237358775 221806810 325993907 181040407 536983712 635996546 654331634 328948564 548731608 681194505 188312945 188537110 621450437 366276550 681734546 990193842 285181513 148354720 472899053 108965068 934200217 820990928 861939122 781501370 758085224 277713987 545020255 113134051 267226055 576052095 790339937 147412204 994562195 431447956 162104980 799463591 685851976 326556760 205639642 184549911 247026068 962777327 563067940 339580052 182832544 130972629 865486051 196239878 852132845 479760140 488267008 560547410 795750699 886794032 731090702 526987116 929065055 416143611 555046734 921059634 841655855 527444265 975991996 429071906 231040027 352579974 623815494 257294189 142286906 829430280 368205934 591352879 833146952 188581270 777179382 568098162 163852234 579714705 352041187 889824300 342205426 146977353 472038099 160672434 916693790 788336571 220340613 153841835 174044087 318662430 935170193 827429012 486379953 869924264 501237005 775432214 901699983 541261702 119995040 541914186 821550313 227934628 381717242 685303815 328091135 131669180 182496326 558135472 476368304 359225462 715965226 307371703 230631788 862113972 187259303 541330012 246002118 406361065 186366703 703591479 285677855 870380214 571937609 183634510 213669060 619127445 123692375 374606621 360427960 936655152 963348772 351999504 967722529 363315265 748251228 821912550 387954807 211172792 251481976 803256588 199197352 583647301 673211067 950560805 585628891 647680781 782320632 840746313 496838703 623529108 463476004 554216126 628124960 514310709 223956325 972328992 881374230 518859632 371858382 882868370 844612434 975383928 890813067 189775064 981826866 678628691 971458081 200786645 135673662 232355737 509596212 500795250 172231914 709118101 785496234 776303991 733530637 948030535 442385503 193794862 826323273 482788587 157254776 277270908 361588589 502814841 250935485 920714911 903779857 776527013 386360866 498064709 470236034 815150506 852704786 640646916 154036105 141122576 531949202 559196574 156682959 475676107 393165610 855594449 916645389 173242977 596974488 191230360 353364945 173146222 582958697 359789793 680992881 769155481 324653230 862208551 642295781 180540238 128552588 352068726 405625275 668693714 453281760 830528518 417225664 220001467 566766512 420512312 863878891 181911893 986244566 972549497 712904570 801171603 830989989 474604386 926632485 713484530 204110088 473386055 516373823 999188714 291977546 661322625 499076748 476943936 552088552 124653108 229186304 143552164 906964949 940117345 481006655 783922096 567910300 795897157 898554811 756403549 590316312 789096280 241539395 322189190 264193587 543647960 974362228 443003703 802938657 229912036 914051467 244241243 285038508 256302478 421677831 874678393 545511577 209400487 419103895 398958459 648771016 393492695 194783059 201415973 660178978 944261852 900524821 840673930 907608986 770100246 104506261 399465433 180151418 787168841 336243458 619135987 975709724 438841532 723928884 686678418 484426646 281257157 837017578 539559881 158926387 685199357 467993265 618764604 981252510 322501470 912446294 751461472 931319619 241284906 698131900 407234857 434468793 661675763 636061261 616255127 772679447 536435245 261736436 566620447 931647728 560772727 949263354 369247703 369032731 139778346 569914190 147666607 212698687 896045671 320861632 450924450 365731393 124637114 881509390 311483434 116492087 372946749 137669775 523830068 999711874 629087029 869305933 892191077 699324889 463254983 479947587 770475861 316589047 294811953 514668421 816061130 525144745 561587622 416675814 213911321 111097161 562358268 311276419 529319623 596425888 681204855 134018681 543848487 564720773 290758945 645819426 961005187 835607146 342110110 384245666 536474338 515664181 300806777 668072938 222748100 578396936 958536002 437965897 700207729 713202851 837544455 374562947 818028568 658909309 739759068 693519621 138146505 650854768 572529241 661477919 407248571 863061429 124053797 334975867 768745630 660351325 453084752 316878363 213296757 849124827 350489390 396356034 359472144 224324891 778808480 384977692 676656061 265562896 275460323 720600175 794442684 140890123 316333089 944681268 959105405 454333652 953601889 502050895 893559571 596511647 961049145 766401806 413606052 512905889 543563187 547335361 242888343 858148595 589261740 316978749 167041175 837016340 445390448 689862401 702684555 672190108 606312712 317108367 882301257 855899252 312849562 564708383 793855474 205564989 280826586 176290210 919640948 782341890 548057202 770534249 121898752 584709078 963112294 621218488 355214488 923923094 851428657 102178407 570502506 456460945 264726671 555943765 145316503 115073080 247398782 482623592 375854841 581501527 558172671 734676128 836974127 348930182 151191855 456594130 310661046 658918826 858047143 489618073 609864446 808544970 400827369 519903016 498211072 653831024 614559848 427039501 311743433 681368120 406362437 966209860 980911663 601235698 720828686 468818009 786454897 747277902 963199612 994088129 385657982 311599885 495994245 199797714 272584847 521483485 685712352 242787619 925684141 325667901 984717283 502318442 705424512 885521278 249303353 828916508 828785163 608977990 160615168 395063589 341871117 598427503 584505886 491433130 687413379 885837764 694403823 666530590 793689313 385393669 914950514 232219059 276871386 901125690 681666911 256758683 716193839 671228857 500029304 272521918 426867624 809442162 135908959 493065447 785503251 663047394 407606487 536644596 362111039 107618128 963668504 234951316 922172325 226918973 882191493 642191658 691297594 646159510 369843157 486029003 443012052 253039644 750446483 976741045 706915876 763875404 878227072 943762433 954524798 554654250 522808712 874011183 105992686 460743433 567086435 394339725 669835581 603308674 995095225 303417992 431812526 812217491 647268737 977200626 142388793 338773051 584354556 592515915 765160296 449647747 364164596 123466426 675460825 231023309 788416423 791300789 554452470 391466735 963738349 215767379 819309345 181380132 256053980 670139363 436246290 618412568 528006652 401390110 323872592 434523031 843314055 755575349 376147916 570032700 652755255 592543431 616399032 978995308 274705583 349235242 449134642 523264868 195381697 401811400 115868431 893323222 359610683 765626726 996677892 383697548 820188154 411291006 689029872 691671282 149236365 419958356 854668961 542386116 342745593 476287574 374566966 786631750 884166528 239003142 566193675 414588388 547195020 292610944 684100820 633152901 643300573 254806450 746647735 968128272 726488069 576117059 770907775 707214202 587775413 498973107 351570918 513227675 939957583 106645846 251378840 879844234 386497241 788157121 413732967 745447457 865484339 382399863 310808402 803935362 979372684 891800840 679224999 353633929 722653785 279177122 939480000 712910772 782341519 741447631 368700642 997985814 738033173 477824009 418847844 645189705 423052359 726455319 509920936 420259978 561636381 840481013 308132974 257407180 203417901 591996804 795188925 171726742 826786365 956347826 857367975 348964192 145871892 153252633 253642447 877554941 749876435 805665392 961486676 250682575 136762877 661408500 409843732 818554209 399747447 922030404 324975043 856747488 215919659 917941501 853136993 393522843 197826236 743580874 641442709 433828064 961778722 784021248 922108541 851714213 340536417 261408322 906732368 233288850 469733264 677203173 255740408 945051827 945361102 994993284 759956645 474652563 133781136 745410678 733544096 360136045 523614010 515740136 511944580 596657292 397886872 743923301 607685371 750202514 968201226 185538266 524564819 406040580 162121979 119472350 466495947 479180745 980109283 491667660 651960840 894702698 597055763 672051274 814153492 874075473 430521108 697625842 145269368 615869619 680776512 160082429 975702106 882193795 836696346 332935815 499738587 659893536 120933043 880265927 323839528 716199353 199869367 749121316 992358854 763272748 284385119 832820173 336194339 593732399 833734392 521594354 442579934 421797079 623917630 625294136 697039811 186418387 607998773 321387032 323870253 345662499 269606912 653955845 585450687 697480798 426522272 453848934 720109340 662607766 941333085 692630342 514570659 809092038 698317060 744749546 654397445 478454271 602741767 381539283 561540740 375583611 670948577 227945705 816991558 162165766 301925729 765275902 282958897 807989588 251849329 797300378 515223854 280356179 826440739 838163762 835184498 240461091 856451488 890431988 834028857 604225739 347827861 219567957 481216023 161831465 752875403 149981141 199965468 342891960 907306720 570310925 259387298 409083965 127430691 756439548 955712655 581106081 563089164 160595764 467148170 591274053 292817087 753591682 539548933 387764610 219202204 330480723 508753912 843867834 210333306 408152839 795078789 245665365 596226554 170461566 516691658 231694213 652232773 531776282 131650594 106524281 884851060 754465631 739160649 847644542 483897469 414567636 605996068 163588072 849805926 373969814 709138665 572591417 584458869 780327100 344487672 564365840 694207361 312435745 538182268 398160774 968338771 449565472 987757101 471084383 843812011 224920717 772624938 883642723 175906094 842169923 866135457 851755384 939304594 887869035 629276564 798598078 524572039 667360577 476157609 704731288 452833789 590831815 162293680 917063953 992627158 511203094 330070551 147930543 946379610 964390926 730220170 183893365 307803905 636322924 435812931 645141744 989325225 749750414 479289426 233027813 483486800 944365281 235591104 503064502 737269435 355834508 816150085 943934004 311351853 596075324 673016847 833151968 519666229 471194208 214014128 450262821 245392341 855987401 155980955 606763413 775290331 502872779 340292538 450198007 108155014 555141400 180133335 625521269 453490778 347094191 413840500 524642396 459094213 927434387 109425732 443102503 365275923 163620041 955861450 955803748 555518598 608708837 789612084 283165706 962235001 274740703 402179896 257432784 840755337 425746623 321153614 246572742 909254290 916853400 351380858 734710051 209489417 673009963 620028921 855870886 403176968 416070446 167922268 165009170 194485735 823548710 399131450 761836727 679979528 358549225 125609323 201708757 999316507 300210102 175591911 272014556 230783330 325983538 751425553 835718187 865071529 213336106 186586230 136043848 337309786 552753860 187505663 564561565 999271271 900269303 449611728 332583010 254330279 395057081 409767420 220362612 764155372 951673402 293229775 237767972 881340611 639464694 300452538 703820282 694551716 885879136 991181124 875622491 687442600 441911607 450799948 249196352 338469531 464370794 849079483 660627054 874024626 939834234 173204175 748764115 979076361 456220569 895195855 740749977 225228687 185721196 642841790 349762395 686312236 377437276 807861676 520402941 509640232 676471427 176091597 571708617 942329521 599562493 495846375 139427449 911127516 484050442 787010057 370589256 547547532 716627706 363322424 235767492 682613410 607017261 171073277 503639834 822194739 250433621 734675852 505818859 780126702 215883449 845435691 445714732 250683842 659204740 901951632 598651286 888491102 152210458 547189809 329465788 187577577 223920916 765409119 925941406 491692522 690793653 821254851 338674606 116404484 135715781 609774049 130047950 386939244 941605976 490471167 805668771 978780453 755666759 712795661 831126284 929005603 264650821 108451406 456017824 432997678 985437251 246027150 893812366 572629355 148229949 119263646 197658814 600247389 276281233 563235453 784871847 612695281 148391182 443802538 368975540 270735265 381265911 467524671 659014074 700489461 488631558 497895934 669624727 793497287 602793194 524095492 830148663 116208085 697839238 497403556 941060718 947221802 495152810 721458975 167507732 189722953 521936752 238954984 255753417 353536821 114843531 450836447 407992740 390919524 739204600 614769752 273565056 622003766 780584265 761697253 544371892 454301178 321260399 541234238 975433338 372685015 365365599 561131527 409780270 716635692 297313322 101097725 672406566 434433980 722320985 384696788 302224783 319185435 938333922 326079728 798454839 152386818 312089954 948920516 205501283 561793561 401804210 370649891 114771903 298265315 110666679 276543023 460140964 438657469 531556435 740735277 733964304 404382823 804842228 938133363 445222827 424832347 750288911 509554686 922665425 449188186 894190715 279229858 484811936 254940873 196573128 773676368 927601576 916387232 751752181 893737016 989982058 570165432 658367281 401900660 435499319 655781506 107629326 228832078 109327710 726429102 598610020 764412284 231265784 238592837 306026933 523299860 914039560 408919269 601181321 313365513 513678369 597230920 311740017 830844722 744482420 368313778 934150950 944753585 968970763 617136387 972750205 615227596 528326461 362655481 268916721 536210227 518689855 501778052 607536225 374014924 862668169 389158270 491267037 933388387 713761233 220921776 215261734 478380443 625301515 668656527 987027978 535972022 483504936 919490021 894922191 353450059 850958688 299887239 567456337 581677987 510292004 398753562 349437672 713051736 723319187 954371041 441620325 202189197 763764231 783927929 887228712 598164528 188006098 694411068 357214328 691062831 359648185 922068500 747571938 361500926 809073473 310334510 590062908 700447957 930777089 802726088 535951130 180289563 416044686 583234228 391660432 675003660 568828743 611031573 932131969 608471485 134635166 672511298 152249387 550143920 554671670 267365956 175782425 266777213 989484624 221134987 143561453 214315284 558613495 417585759 929542013 514793705 885472528 399353892 452282302 488844323 277003351 743739861 678673418 485690673 174770780 106130591 632908845 425564672 776310486 847325565 810260577 189731860 731709693 400097141 278815763 716594192 313021941 749784382 249117188 410955761 717896572 738360457 394788973 478742412 110396511 291378482 397498360 669601275 702624362 343325775 828745244 442397673 858971673 851061284 812564206 522135871 319063637 433183291 401337700 592348065 411589982 502142911 204043977 566600610 321669435 502199715 147396584 166003120 401436720 324452397 606252458 887001969 292400309 373684567 570675189 288889946 355280300 769345422 347418750 907640821 456874633 501214015 156395997 651044260 910081327 600294031 223382953 364043616 171580251 656529084 326166938 949204248 406155179 262911899 157910323 511164790 660039530 284042145 403624299 495529065 677031028 286072031 167747357 983556303 105111134 923371422 950380200 309363373 812567089 310910659 415639279 969438583 508236732 250888346 191540378 179240756 227931628 441186680 713956870 169653782 983699974 757244533 713399668 891255760 362037677 393560900 593396562 355386717 204187547 642741047 707735407 835346139 276966813 929376032 214349485 136999144 192041135 993671471 644613692 620672436 395943921 976691658 561714578 327838054 897948147 804923430 419655945 100423384 117625739 327464286 726120298 123705521 666342348 920366839 470822618 777612610 972073408 194089948 171541138 432249949 741883214 536676226 288961529 238270587 146366584 243016977 468058630 305639681 769788193 934228670 463664323 721625466 461674133 516998907 732824085 903745243 353403908 149435627 776667178 796462540 676081520 436243176 902585551 434901066 121286744 919189195 972317594 477316472 708717901 762439690 955124300 292719835 598999115 504281413 577807945 762605491 985462057 250427680 231878640 281663829 662760851 742923667 218676362 749119202 687908313 597618293 757523392 898648974 156112099 697488697 816493149 214630431 896176732 670321289 163937325 765064860 561897349 405467482 389795992 132635749 412908156 465707768 138110026 566294097 531638900 245857068 367855059 738559810 136797215 190890365 906182163 769153274 318910764 859368698 588952837 314282186 697263339 154184845 854718670 798299878 969512659 193427836 829945016 914727772 110726169 730397230 705383089 204897131 447574142 118152933 957160858 773987795 879047761 651241790 186131487 899995575 538521287 802404222 944107299 674300414 362268447 398380551 898194203 853394042 300902876 310461327 415821789 233909386 736959073 438167998 916150033 154454714 382495570 914334273 424339962 591925528 236960581 256042896 617561977 148078000 458734617 836369009 979356048 957621541 450004532 489560825 672966532 524781244 570484592 950579179 388985886 539846940 842349245 134964166 945390419 394819395 147967972 342239658 778901766 168506952 508331458 972725241 336322525 445539178 874826317 817796955 262180126 489388873 591410621 927392548 704152247 899218162 526204620 268739469 838967642 273228817 114161904 231945300 706651250 824381809 227046371 884281873 859524931 206451415 801501198 596805822 319122251 114242248 422881549 430556519 952738267 318048988 153581315 294103561 155830886 601031569 213368846 192967992 929498565 650588964 853790367 703837236 633801648 835143049 621325628 595196764 839775836 300178425 272875345 882451693 992321561 890065915 671666892 610813137 414320758 120777106 776853049 233947706 389479442 817720555 897500008 772224099 462112676 955815323 627549964 373367204 352131931 119863081 577975577 756006421 881849079 657916157 747755383 252778781 213067235 137657665 119471481 464374667 196678829 205089469 265441803 436097819 503693221 142184510 157401960 249839368 781765649 433109654 201349159 893547668 722402557 817467574 271400005 610060035 670875812 195055095 794882833 432563507 403825871 215758037 773634223 861598190 632533110 770243065 263322008 305800016 943029048 990131772 376958894 136242396 594370282 678283999 708638064 590036127 612154347 707820412 848401664 578396988 122675023 709796741 977433845 250549244 500631536 233931391 507813793 298042777 952005584 373977339 799903720 701374847 743822058 220885445 535778068 854208624 428758385 529717500 170953018 598686728 315913565 893165735 929066915 558163851 174131852 503819113 277498882 286422303 628775400 571049016 885797429 352365631 441160537 675077454 231959813 948165243 675174434 849933311 191050338 911985787 975237981 292567715 814177556 248033205 394150282 572663464 524580155 682356930 109220659 692812920 997856812 751558896 404558669 204990193 408034832 576886591 885199752 364218820 151467441 763822796 337331356 283439146 365485781 501450283 687590987 871293509 692150689 478148614 773436037 708163547 125577687 882595284 922868004 918535658 887356893 249867681 143940654 751160020 503198652 574206470 866366806 311885774 780854843 811270315 603327900 784673139 503474993 715803631 439360178 852292342 275015220 594324478 986289379 203145280 821391723 725463499 149262518 806378057 904077937 758505844 223145381 457155558 320608476 705318722 398337215 402376251 325766638 333558238 943147521 823257920 609185687 638741999 109358659 646821343 432166500 287348518 439607608 788705100 732698642 353991648 540605646 803407200 293278135 446210152 243863176 548047746 447443798 523810269 187485427 521477308 301689314 464543809 966719629 864284139 475187236 762134563 611389521 978356729 680480368 704972656 123966980 366814074 855141750 417676290 342636792 650520728 929883180 635481800 985628031 401386289 548423968 977860345 171506066 803100536 690644222 764783195 958701361 897615140 554947698 413103627 760074628 201685848 314771484 922883854 464235028 726860186 803486469 884205013 924265368 790746835 786746449 344852135 163117366 987804336 138207487 760638104 982764255 745245673 366376849 765917907 321212745 443854888 538948802 997797297 873641054 725864805 193062170 917666748 579640786 124711131 746789771 468239461 259916365 585077623 476383412 454098588 429922480 749074105 405621547 894522865 605081883 340548591 733036582 151468182 145519288 352547286 637586761 362806412 100935664 770122076 885593023 892448337 679626150 430463462 991290515 328533672 767343228 581164033 701524239 439950508 524082638 216861483 281422732 946624223 615049652 512976692 876562243 778370770 129656892 862429762 127350029 732957589 225933549 209071637 311363075 365301906 543675082 861034596 613524132 449338063 299487221 816774244 532661884 531944169 847175893 807177776 483571485 382105436 391796804 198339617 603337141 248467936 674959913 459213664 280441394 286610383 529134336 658769651 253411386 618971507 946545936 279004247 183214494 684629775 430267405 812727559 125485982 589291877 270457714 695876959 914167102 730854646 963368141 591200304 642720909 634312596 522633953 765036511 869492397 378864211 209233870 695135100 661036816 909451576 829708905 920924309 155338569 395292622 642750773 108444695 356567044 266454903 300927910 697133098 677182745 694442915 617786948 430158039 329962403 661185484 226669964 853748758 609844615 864984801 725759533 518384479 733586800 560699357 920292393 302887897 184712765 602831836 750514579 164880157 181773627 510547732 775105004 866413729 277850990 168653513 674693617 824982398 687510312 498436950 298484700 552015040 966778551 864435867 746706900 349618800 489506436 910917123 139184092 838148486 576245662 449080899 242054350 766565847 672446420 334778665 518592782 873423374 548700552 975481418 271651358 871381480 956626278 807515234 521961775 516939228 635431560 766162945 557282221 203758671 944759601 337931738 492502158 541555477 692307363 277276985 464400379 229058516 416137117 195452386 115811918 781881057 787610381 691477373 931415792 869703270 628195002 239983412 662733059 369974692 471938414 336704327 593907509 659790405 381139821 791656300 195791123 591319625 481015551 348776441 543905370 377269269 980528054 685573450 578103154 640063384 278970538 146698192 904970361 562153692 926582151 902663198 891608556 140643947 432482596 728168373 987987062 732339547 189800846 599411954 166800019 125252343 990724089 169367226 942945098 634017986 243486764 527929774 170776135 431830726 311001372 325993368 671119244 506487942 330745785 253515258 808764704 485412526 452095996 631273093 597864651 739490646 542572866 211308111 665513011 691072208 249540283 209989956 250367834 697809612 182067892 358364452 206338193 158607237 119643592 831431877 585792196 710241978 262480896 889808066 349163267 870165444 160760035 627981143 907656372 155045288 192673850 158869551 334365489 438481618 174553458 910463478 428217534 132076194 815773507 269017667 397804724 962308075 203812658 323227385 921686872 102328712 628990018 317375893 430897152 169287520 648864450 659178780 429657055 870261429 878770235 187773854 826633999 953257214 567068906 400305497 805632460 940674642 828560389 540230515 273511672 974522525 891455129 323588413 255502739 628082329 681856591 663820009 759564115 297614460 582176921 516233256 826358044 566085953 238967959 209270832 782212817 447745060 744657786 919108411 568234524 989113892 644801969 273908713 218992252 221306377 580343317 667890638 382927572 996149524 261107234 879731216 722868070 568589693 831893076 927641277 278558386 726072912 576946176 717296422 920413097 615791426 303324403 908866316 195228763 327551042 356097346 939983630 652874872 964585790 155554414 760012051 850673370 995740915 188573671 972668019 373279317 761144830 175496040 836361603 303064678 356030554 837967451 155620867 433413601 514072746 755541274 101756109 799983231 445382254 430098155 168926889 423964891 744871603 677579463 763677739 525412490 179135983 920571476 527629724 472310973 767881135 221829286 536954964 180964302 186233358 219799427 462683704 756854616 673371261 273031768 668447524 309541949 941663385 534522853 153907102 360483032 775928810 295956708 406604047 160516463 213860215 875813877 208304741 443367447 537416564 132789480 301108884 425202922 252277799 756024031 611128765 297274428 739643912 724296928 393570908 634202527 334574066 852573658 195472902 236313537 795070653 318607261 329038974 887858657 630826627 466153089 529419262 777529574 569679671 726109687 452804989 713948258 232230161 154684505 763411849 782365682 412376307 384558568 961061045 991282828 990330032 381084670 801718980 559046632 393865986 296450911 357373591 411784453 227538544 635597723 342737978 650743838 669327212 475786308 489132456 841311695 469894180 116526104 583701599 812271055 370829630 476870805 449432883 100558693 772625719 402265617 939445375 206407593 849052230 773782383 195961519 307894958 376661654 113820724 977585258 706629525 617070321 745817561 325182525 790244182 539759777 507417680 211245011 727773792 723752551 923774489 948855550 575153170 712838018 775856499 898634845 204267002 504753794 692880108 877908995 388378726 108822840 786153086 938813751 588274650 600240261 963669388 990070843 719843899 917963394 870849683 182291906 285768290 522633650 466444825 766122224 137291613 851252587 902590412 697434735 456102364 904320766 993666641 861891644 938261027 270997161 616868045 618159555 702283044 921613208 934356535 910238882 478826212 131077241 264589364 217439230 778346503 821494855 669865277 869647840 803748928 844904903 817900990 519061334 537154213 616474636 131539628 142349073 523042292 308483391 556145405 816296079 836050087 511257266 699831201 681013601 171618780 995894940 310166701 971383368 882332553 473800044 658956351 425168186 102124123 127930737 146469343 807885223 384357266 295540099 297009676 514846451 625875669 766347897 724360395 883610048 649081276 789360018 701749758 429903167 273662156 917457257 962078818 618747294 947782754 593715252 783568053 136765210 475598582 206499450 884755601 491633652 297745818 403672664 609587532 298878380 675363994 847545615 511541707 686073660 142009639 152194524 724292420 182323897 539001397 780794977 834788302 546882014 986294161 308582044 173233070 308413210 100073190 228848128 106908439 171285477 713928567 976424849 813847730 540355512 921211143 698406920 962336338 388689299 721272172 253197920 811815214 828552948 797475250 365515911 416534887 328538223 307927946 145110152 973032225 101590486 665859121 878374321 973064973 539414303 381005153 581969722 985867325 557887870 280591873 759003942 287457199 424143672 130948855 357024606 870127868 320077721 971268686 401747305 355430605 282205261 271088675 962477861 721342351 605974155 657310962 964475892 565380731 230294526 684152155 117817406 218222243 123230207 970390457 374320699 920842954 322802474 240031921 787926562 677976111 365896489 485804679 147158800 623828402 435131706 608869868 986967368 185731755 735094694 840858901 790717058 302507205 918135651 302126270 775561880 611699145 689936423 543742738 355369758 101722236 200875112 464970821 896011177 771556260 355961106 315200440 163664941 617485283 286509324 666836399 791769767 147620285 566999795 970168876 147721726 982670833 170367231 618577340 676262161 107779442 302141841 571212665 772506701 866829922 475792185 370860240 986268659 496210761 807007490 524276462 990809195 969897520 526390947 111392783 539977509 129028928 992724192 325499497 342371338 178430193 280548496 423296123 422686373 992952011 737110676 244460594 317757153 256028098 725362041 872258851 659631340 759970888 943815316 602621090 513134284 110743130 897464047 844865829 369511256 511380283 705667679 713682947 282036599 769840908 836850062 962723721 202376936 651683785 588077537 830634411 791020800 306719261 982823216 797109556 756700208 654201079 158914156 971305273 537191738 152029798 556775087 951670626 644645495 885041256 559843073 450581447 622066475 430574362 160973602 485783316 493469477 409763241 778825916 717689494 836719933 417241185 512033527 100999857 772606607 298464748 337366793 513658391 603358658 311012711 451214497 930993486 427377092 270230146 867380990 257030326 686955669 396626220 717870694 334699989 912006489 626948668 933908833 222905520 391670246 104930639 589891664 997233951 693554319 831006960 183833103 205163356 711593816 810885785 987972702 518273724 331030803 175143869 689420312 822316395 582797751 663237667 339767067 911421745 564223657 454270115 855521363 421583155 493626785 611459568 860801554 843835069 941972144 628384525 767693327 485450711 876352369 955590311 347426599 978414494 932951206 500107191 616527783 907988815 621161184 412223631 923666600 249748539 236359252 979239099 580353218 917789471 304992632 416576021 133678597 468352590 948337523 790010805 105903423 960536962 163003741 111391682 366208507 562212934 246038086 676108272 610206775 817910676 339798317 244646577 275732774 709143474 344486818 436430943 664621735 788944167 221356361 435118367 468400535 469358860 106288383 222952767 196661678 729871389 319824257 149593953 809300102 327912732 201582089 632948773 308850091 473123070 268941442 566828249 544777304 718143986 127865160 767812583 436021452 254033483 696128293 412890803 383564406 744543125 329155807 769072093 349171706 372223950 688399870 222756168 132769966 368171919 394365321 937755627 289999208 970833425 351957668 188436786 181568279 506742609 695739789 507204218 966793191 508412389 656655893 465191828 821095114 118259074 685491254 237776180 380363103 546275111 201704270 295185524 401507848 387742030 734741118 133807939 731423451 740785949 964056559 975005608 460206126 338799782 288858618 599703008 846506208 419272715 960187325 263024768 546906924 571991317 702905097 239819567 333049985 573566293 574997277 802339252 284431310 956371709 152477280 636072628 703071103 418837537 683466085 622039403 662601886 395348716 595527576 438853968 569453639 814168645 626802685 941149842 113546881 395641750 436163818 541329770 155089329 472381983 206972816 498979617 671369835 582957113 835659764 982811984 990188047 189634608 685990077 496739427 843123959 506014101 981944390 404200839 813175573 374584760 941629624 499679212 446401545 802105395 258494792 681225006 115674711 718673829 347498861 749624152 930638512 421313040 929159872 597546180 364684746 790639288 368937005 827323368 564187372 358869568 234695646 423788311 568222057 167708886 321443972 493333831 141234707 123064109 476451979 669464052 658469970 247255160 900908267 460848821 350259192 421356286 820375725 893462214 614564191 314031242 996988648 140283565 419070628 373690418 426784551 253964381 553363245 143044187 603746705 297738311 393351097 601125471 124814286 858773561 110258237 259660249 892566017 821806134 804072418 735903602 339460966 696539869 517514266 581312622 260029977 538745398 597710497 153400676 282942760 772060513 739328132 622493795 608805069 774735802 458696350 212614312 338084395 593520512 782838981 455360302 591156488 678926657 806931889 795573710 978588765 624957538 573592178 672276139 818232015 276481708 835443452 232597866 804485565 801263821 758562399 922464339 702724512 530538836 910958088 758420006 512852147 113681264 329165870 765218218 109555062 324040741 922257001 717349261 967025722 328599976 386979165 753450118 601091917 387794318 941254188 310313864 628171963 346358936 539167736 349020138 858659178 114930985 734082118 903005091 387282791 790931439 710708375 809156742 227835905 951903361 292891415 985787498 784209625 392803719 492605879 853753640 750703506 869005390 237291208 447035089 953106928 645281877 173608056 898598123 454097951 363821314 714296050 540243607 637821283 123932614 270035521 572900747 107245983 235868112 725026851 578660530 252610889 424578756 645222752 272055659 217670326 101839001 287127306 702803928 604288969 813484717 126119570 730252393 674536033 408363585 798972382 464759456 571978189 584688315 187404209 499923122 826175668 127338734 267989289 509917437 928526840 200638288 880478064 484285892 522243980 105295526 603591886 879092978 382342685 660317933 272311179 419306976 114228668 337583943 139549587 563542689 616939016 261397694 308594299 420276308 539008987 904437397 593236042 529729813 206322073 806633416 244278399 746248063 582165767 622078873 394947135 326203277 874596654 561962625 811567267 611312923 776057781 104932608 434169506 745949993 121267449 499693913 148816979 405748484 806582175 618578930 443977753 507738714 972493517 491647076 163384808 118274464 307395887 559596054 320131604 804346462 634406974 718267860 557839355 573467877 460005565 724649634 532338639 619124684 622426415 962305657 766163694 465194611 486091145 352601305 270141233 760221178 620766945 517544237 187323295 512034764 227962097 692647594 284301982 988922971 592019561 770714433 684085555 323390004 920709951 210665040 497921941 408767866 491728024 646590776 281935742 586004481 684331062 596002388 873069322 530572128 929724030 235917695 558861579 599722328 339609666 752932978 370155888 206631724 576131264 466121459 644173735 917679189 635447581 763921841 591419784 754759948 651222490 166229092 603992545 550550316 351772189 630997461 550380479 305475199 268800227 976810277 447913548 470294735 215532411 905977071 589125597 782309601 188209023 289159851 458398503 279030815 949024160 875868335 757199387 159045418 457038107 735121782 590169579 185238942 836525353 767853696 714464202 630514513 824114596 842794199 522701383 523534999 359781302 809812439 612093322 881378875 415061894 928785001 725808992 142933505 812103680 205349766 371471764 170444839 788726864 790960709 918195810 971227260 810879243 897747756 920500906 805322748 479371346 899998789 693907111 408542884 612869420 823593678 559887815 466914946 950996180 928495134 363126008 955897238 483917202 874369890 688215119 672716825 832837619 142580384 506174066 202621424 368906667 648853283 723126133 172971367 241670177 184005123 869921090 360724209 918497373 973952795 914138112 458713177 416672536 258407918 221568022 654237216 607464813 541953402 755280549 296078581 431447766 649085889 605407646 985917446 646758092 325117604 939989751 735471601 776558405 532878013 117078129 775176605 748875524 813666806 173867031 309835481 482803627 781049335 571504406 513950587 982185658 842766685 194621186 733489238 182473790 608689025 841590129 929794773 216190185 757625695 167973441 353762399 149195480 835208054 523453307 838496871 922271564 452860743 367768384 384263707 911423629 453575329 579944177 354591260 658510381 322087069 872161238 127870283 395963325 663289827 277815428 509160415 810481082 615114825 583443368 541966908 907623397 217332826 791883837 111863931 452433036 443759297 319632436 949660559 656617238 433691828 747561090 212816017 574909520 458783367 125623347 131369888 636681640 891353585 519239537 747694017 840800194 784455324 683192476 338830477 321636228 589875206 538280514 798214187 234663790 126474177 432583028 784888426 380356164 338550857 676338809 329026624 396032954 923222413 297074921 169496728 455416812 929146907 425296500 401588889 768309842 599535985 479552038 551605739 573008070 674092036 519038373 374119135 526279069 312112491 118019655 929562000 638948987 559843544 734985902 352311445 764766714 513793818 370753542 363612856 957744948 615867815 388325436 462606017 740520524 335128524 507574080 565479879 467933251 424618349 307003107 974514435 134238159 598294741 278653150 594556426 374097010 845784953 193553775 584979561 511676704 704894276 593577263 822822674 752913946 707639199 455956976 962553924 679209294 974437895 406888837 614967562 971268258 168740741 160183618 781375631 157508098 656192784 724178165 345953520 189574923 701959232 825329797 206770480 196360207 615461391 180379817 506443106 352444250 380814250 722843196 297338867 600460398 102868086 807998332 993310283 791166721 532952544 585866743 171683061 100211707 831416745 998524945 635881864 489414600 958850353 570146213 271837037 195458349 382328530 703785034 557410089 295330460 580354835 556680947 593110315 428391956 381854177 389241395 776102722 938610517 448773650 750782278 246633369 857048193 616844341 450592524 484291902 156709473 819444107 853425314 500632416 342718029 318319121 842842455 404342950 662408688 980649859 856149960 229114504 557693264 939588857 444150852 105816338 314711318 195723058 761585082 799241985 665805692 275920420 906771255 999870598 366670989 460893787 423524805 900564343 746624644 750643363 113223780 271304040 482009133 713010028 886410530 937625828 865373147 279090661 384583498 921029020 492226173 633415238 598698450 574412755 650386717 964560570 222023417 237524661 636361365 116599258 279095817 484787730 298106041 954272357 148518337 395363131 158714135 368238596 461487262 239438195 763741524 483934626 940245304 607498325 908106771 226233800 961335636 435636642 532265859 749790138 348979894 191483418 549679144 552881450 935875616 841704630 731857119 333158402 361840288 468008869 109687509 187858813 407494241 655489005 386017658 502533635 923961294 911350002 162996000 898791238 921869261 933250333 542286748 312356297 254526439 798510125 800732345 120105045 836070879 493798141 321266437 771187865 605855651 458508094 985617737 372124226 254694722 657582199 425680420 375144865 603332128 411900048 469250726 579175890 790902632 242351440 416431938 435606846 720449779 181449122 547678736 477360712 254714251 846839474 879079795 202436416 400076758 573793504 706905560 280131729 785516126 342419665 881463246 246882929 526992417 773446587 490278158 359332060 597248992 817430118 481250742 823404699 233367856 911372936 167041825 487658617 684916150 129035714 575502891 264067030 290905815 704528834 301477734 491007302 691796051 932795879 947670785 393307505 518848918 156529194 683870544 576825039 959834891 630532822 210954650 971027154 243619894 379353470 947024159 946114062 741546299 172687133 957800192 896367109 641536354 484832712 270506378 745597293 540462035 840718536 837719748 562232107 253688938 410469126 923093684 899986839 656559447 215758594 144067588 879967260 165444682 135264331 399888015 527439709 435951318 228106074 628181212 646906892 965376346 522987893 384007318 567649627 356130139 869412789 935735470 651487205 973701838 762612276 828524920 337471447 251578657 870657790 588127356 671786197 595745086 537387854 992766514 879115663 601477082 326034240 252064550 467697941 598289684 797388895 950350034 234704043 741757807 167748185 692356945 403775854 985193725 679447255 557378539 546804984 723930513 984772957 826270125 579734502 686482495 257369263 242694939 293326159 180461601 892737164 997126398 933795363 780258973 334254935 259429260 483071115 483442708 524505331 369188157 326610709 332223417 726387888 787665346 665282383 713370928 499627580 382211900 434841497 666759890 234313897 883920567 403637721 117841458 934584564 998585519 955144718 248378438 533155555 463956233 563139763 237717161 996195354 958994461 843860574 399026998 152113630 282791996 909788691 239533000 706080240 369747577 364715947 561593770 776405171 885423034 631144483 955016913 310389930 735728538 546294957 672665912 249376168 582795252 405387430 418336662 526101807 653884725 260330253 788114557 671884648 603785156 619539350 677938404 361639675 506920493 322915223 830885598 539661181 806123797 906849926 576395878 706372039 918714055 946789744 927496253 218719663 626813639 854409757 999418915 477628625 908027242 151482959 710880389 278901014 339574881 474877176 126653640 627577403 543591133 336480878 641888576 151740347 209486587 921654170 862959180 120312074 310914810 940979281 292881595 576732602 126631565 169382277 293961719 433066534 174728345 943383743 211398503 708898784 213360944 147236750 817605317 634168786 780080713 213702483 443392660 706261856 100317377 434645703 528152621 507053741 323620919 318490742 659451392 577589457 919956327 212870475 844610255 741271226 593946612 186432274 581701071 693941809 245079310 321632866 617193692 936923247 145444347 935419223 503205250 953854377 695982460 582803161 567330224 477171311 335904593 564809983 598660712 210987157 887925571 346747713 333418784 888028573 565270751 852008289 914923611 700101028 787891452 924497707 858618464 172429060 508520595 705214985 887233067 380929801 113558957 524207545 712388578 705159968 273060714 794119431 169270376 401504671 247289681 404288498 523838322 476231362 715562664 357355237 341472632 644546908 732277083 598771762 740418583 882010887 198975942 813115734 762476733 417442698 636755276 856147018 972061820 978985172 219164902 997266814 624659268 252547350 565006221 931960991 712691839 875093097 296698052 566298553 346074317 895387112 944178226 200160579 911984693 410023638 993083704 866889886 180711201 335007837 577621246 809514641 786493132 598443334 939193225 102493639 661144755 358345254 505773565 212769685 945869859 755270668 977805181 687126284 258908854 208632835 886207026 851634923 597268120 367057633 697596803 835266283 119404611 702303791 373500315 245632635 419900693 750717216 603477417 536690884 540041070 365098087 222846465 474665547 164771255 989701207 738950550 837935993 736264299 454428443 966987228 298132916 493546727 817538797 175607378 392450358 911135748 527736151 971274361 962141553 947738795 430244616 626991715 773542853 103384065 841743302 666184557 251683191 735043412 768845182 921477017 573134974 822235711 564518816 875374076 297716066 851725561 338883169 512074834 959405918 603936810 657668774 204850747 764678185 606064880 701060070 738931535 337254284 505305145 825317156 178032042 488502484 721216704 394549391 115631872 203037367 283973446 525170982 673815243 432779786 815599030 811162241 381521593 322242410 746536986 645746351 693703895 606927991 928268804 967203602 428829158 611834744 707654541 223616465 602917074 957019356 274533479 622644581 315677306 754556810 655642998 240912346 858229397 895766059 582683217 589344152 219130973 439975616 380900675 214543953 854326403 636970578 297062255 899279075 672045718 684356540 473823503 799797114 120074176 600238359 506107398 135401552 527249371 166478401 913669570 694360527 425060069 734636631 254627531 690180230 868860069 668974887 450829191 168415244 966629785 592416277 633831662 787915810 478263343 312815878 996645120 605316352 557121994 765559166 489628958 949782478 227543750 101955497 342445655 233609157 218279231 542822674 289548342 625897478 661486055 581207967 237581796 617800390 366481546 931298518 129590015 748854350 476197840 661762239 275572918 115325007 950514721 103710419 483051027 356506848 917018978 916515924 470579554 466402921 899053935 824053263 637480371 422470566 757739000 926282902 991437745 734785121 972624948 788316302 824738086 289945468 918245903 361024664 934647814 793381171 158195904 542077925 461042793 905440669 379074608 370503043 870745383 366354424 777800175 333623737 510324080 761523384 985046918 295946091 854320567 925185095 783668195 213222657 165022913 689320100 698183807 644694979 750986597 531105448 610298878 748559119 795218510 367019800 566613580 738930141 982177603 838283710 283157600 445167489 955918377 959772204 252280403 432395643 970502188 971394872 892414789 506089462 203883470 584826957 591764979 972615062 888379031 194931999 621750967 885429999 123729290 910639754 704127687 396138446 574982863 849789741 699876876 547291352 495880450 316420139 788864994 515861735 481488205 544427802 658237271 430781354 784320071 247257696 583619773 697564460 365071065 784687002 801705619 976068025 813420407 527533899 141492224 964137619 289477285 391304838 821104743 958197274 749269460 479223297 130210595 796496791 205123529 311135873 824092326 299237413 930520530 940587741 157076716 932223573 142201778 182169389 458136428 272948186 228179642 665671207 283564118 168414060 361934747 415932728 879111584 893295586 154266321 838781235 112825637 435397734 538467590 153165790 641220379 908143235 252543045 277851930 771249466 572719084 453440913 105257157 219430171 292894927 913335906 491098214 218473328 780380099 374959576 742654563 646587596 394090805 989500934 225078932 940046029 737001550 954853953 878051418 408929851 707594310 265606821 214942233 668636488 599786857 525009948 307131292 335757943 367074070 557782530 887492266 683395704 994024694 626492896 864764897 202776045 860279376 177649584 564436491 806262227 838957361 773719155 566330889 790929833 220895348 936263012 607579577 382368349 281751283 995465084 729329534 977399344 158133844 259608328 913643585 820698279 218415889 489747288 232195418 356065966 438429352 310684652 550557608 432232629 309063957 832329233 810860399 612212857 302729318 272821357 406886534 707505151 612401445 850354040 117399032 934019424 157853256 538581850 222613278 355403114 447843442 513079190 840581428 963532361 883048066 218790635 696750799 792387876 640512078 493043767 201774641 854880519 967383436 705999288 170143588 706622067 924041294 172107851 243493352 964215573 874269261 337672093 376557236 676231196 631253353 421634237 889915053 108079166 505523787 165012617 919406742 440861263 975749023 685930263 789626922 527121602 576499452 508722030 292478911 484516024 968128265 339684145 834812477 905768317 993346091 516617399 415274620 416824099 996061395 586596595 936301021 421989029 829823901 860963149 555583029 782380054 956029588 151136808 881416294 525914181 840588612 405093134 423353900 814015761 388131013 346225474 297430121 145315064 945591067 308342617 674432562 579814667 500846254 791803394 562583522 516863782 555741757 951428240 671569685 703615726 835312811 104773336 796498304 338767148 276860220 211006193 494396636 817127800 849955805 778488895 421532212 594034958 687716886 754477684 148810443 965797041 521932196 689376951 978385684 560710788 906212694 976916171 371765596 780150599 318239215 142810097 794923663 538722202 845684454 907569991 850418433 736859509 307376497 576332659 193566000 364833030 527055048 212066464 263465115 189502201 918525246 985715605 879736155 577507064 789105534 528141274 388179247 563723112 566429138 649581994 902823738 467909443 206580595 344818020 658259138 769925396 938570106 171026621 207237003 840073314 599413421 303572311 552090071 312977422 214730183 478122943 898184308 292020724 963861005 841021821 913386970 244528436 681406671 162537726 908228585 752609630 991791848 286977684 841005592 559722596 454609427 645109536 982597167 937171770 858384671 613437677 922246940 627676627 220281842 752771115 317894554 843116202 227082676 391273253 522482034 867469929 538691843 468685244 430702514 383243839 577075086 786667028 438694459 840062965 269839761 101336476 323799088 237559163 459932613 695993328 514652529 266889195 678340315 681044757 639722306 283218009 924273524 431217987 268037073 748390393 326454672 408587288 486132312 632323141 887545725 909442039 308541135 548750813 782563752 864045230 741958190 566121845 285836466 723963778 784447652 749392231 605477113 726872846 541370415 677741967 259739028 215604282 921298493 585157375 882500466 897230569 795895870 210119244 402083224 588175654 201384296 676059098 375897194 510567472 844881795 781570433 604424672 551604161 121247505 896917200 316607818 372946949 734582487 431209366 245753341 706994548 872053251 409072843 462478630 855574502 417078711 748519897 152351230 372650084 890157984 188194305 447574665 547428076 396944334 510741980 234454064 174464580 920397436 986835385 891779366 734341345 148268978 764045321 661375170 608773019 528166068 301760024 411949950 255545797 596147265 238819249 429538722 426213136 745017255 935425843 743698488 619396695 995435789 149801962 411347144 348182574 802507282 603986450 255069220 968913421 568591804 915569123 555829509 763628413 621968311 883983259 469346184 476913288 676526775 185235258 598052125 528312659 419184991 810527744 186281617 707489468 371246370 379545714 123345629 265343832 340883888 970098688 940025007 853825516 414004424 880133727 109858069 498457381 626790485 250678183 884900014 595764138 678139205 221891916 782668348 132481606 321395470 888819251 166391752 855148059 981592607 230441462 180560501 840845062 736296973 975521992 755616859 707719777 727593531 981536325 744632697 181040978 539266446 610455093 152687724 154689576 143948523 426585608 437251807 228450367 133442323 902409656 260981845 445133521 637527382 511331614 772886749 458257540 283150934 644526403 169869886 228990255 895474200 265194256 610141476 281129399 836960012 652145273 719950743 975111878 361852700 162529104 429537012 172707569 494727123 284607037 466592328 128933444 585845563 511400539 876909060 625192721 685049224 581717768 377332842 604170874 645988522 891375017 968775179 291194350 280138860 634636655 786717593 465546747 528928766 354848557 437914041 219929970 733217878 259316552 908736485 715827194 173046847 880462668 993379077 524071844 790566796 437335940 620299785 513069022 544739483 186089249 505530240 282063378 762063268 186215427 721155280 645389058 495863771 159393078 928899232 343995309 772833149 404320642 461995315 885468841 260523687 871611318 385904768 593104148 307388819 366627803 981714085 626871034 789721700 893677389 531653875 702475897 129442328 126259087 730037765 945282369 576252783 512580658 318583932 736430593 229279606 107780086 201694504 899589689 974167261 121390593 406694401 289927607 618136958 866803811 299978722 347614432 160451806 882738204 419526892 726913076 723644804 187333538 532923224 382604121 245732213 225520593 566917602 809791465 422457381 623397315 880735826 850136023 826061054 669383422 924930394 369883883 337113112 404177978 468636453 813493205 489260790 179608946 116869639 945725493 702876538 771574615 628419060 535763902 685029084 128467853 577195594 844124773 176274163 801185206 435301754 699895274 539503926 928754718 297450801 573921307 206145814 893865622 827151477 377348220 241879175 765210770 815286205 419509498 473803394 406984677 594048178 549030164 405091287 897772739 411247610 851459586 873140974 746855316 750656918 101396580 982280416 134655863 616019523 159954302 255517567 726464162 214851737 461485916 617983488 499009678 760867232 727256217 900540518 700095882 334406734 310932523 375329207 328142568 167738908 896351839 975931139 789002353 164885581 902987833 310028513 726299186 155682554 690669819 743715546 828651580 326882065 224417377 915153644 151173607 201880640 807948316 967912605 349428169 427811874 741984152 263064410 361699556 482328114 250881179 210232965 365878221 299793400 876156776 431533233 471201263 208047604 645536112 619781730 855081351 236916401 362110171 550376292 976130259 329162735 996977693 206564406 135797209 745651818 768376342 325596518 294012248 105901723 354476658 297124478 516070938 979014859 673868631 994089040 822283319 366069059 890262188 580163856 438698049 619199389 975093453 938407310 289201672 728354357 725194320 122998729 399821431 576551451 945629778 180559282 753558608 839410576 884634035 232853545 369910554 486222597 513654071 469836974 159244240 698832686 980802437 617678491 637984468 677726410 216121973 811312977 855881151 771953833 213724805 968764601 440957489 541487953 751692932 133484125 410431366 146282228 329734932 274629777 350022490 781395374 852580646 551689227 748054762 589510661 538930057 930657486 840838395 765531499 440222496 116109664 921312866 850173105 353481807 521664847 358506156 468024268 495797329 630127843 777693446 390279143 989081873 346764155 963334396 865569148 916819537 696353974 847380355 444603250 400965975 434501877 735527693 433667834 553554127 851336904 147688452 959383985 642815480 582660104 689497697 743266695 735217848 368346296 579190840 459788351 750149028 835602481 638799708 467959711 212706485 458651586 151644909 428842712 332772882 539308531 936583513 775751287 609916113 352586385 265797779 536194885 193627231 219075989 706438599 903377947 933804708 226124783 263387334 778174891 106845021 477872060 285778273 657957856 345854602 489137764 393828451 176059887 364418975 299094970 447264426 322068232 810079616 525017176 456120239 184993548 674048583 643795387 725621718 279522974 570537007 390247250 621526044 255936447 349660343 175209878 473412641 877684993 494245664 107603411 571522699 693381709 227993623 755566882 305641268 430844003 476960455 864412388 802115061 943702593 217776625 497518723 202223100 943939758 476498869 961896986 165820664 277268160 780149375 667687077 824214540 177407285 317388963 494842427 957098727 981950582 626932664 149811509 761631732 515225664 183763187 597237414 103665469 690915760 888580965 516041831 279420963 440423725 724485664 782306227 396589763 992544530 888063727 608581276 889626193 624260657 104591338 374878877 597817686 113233847 806118018 334378459 991700752 546110233 925722538 158047641 387322405 816608533 901802256 716207183 432548308 816185340 934238441 284117832 240701562 281231478 347660625 840116686 891808611 884382481 338535300 100119512 413413622 473278001 152390259 627222257 976269709 493864204 896792809 384351229 351147097 723403108 788956044 719807384 617832035 211029976 912231427 973969818 658744255 184509444 143961842 309768519 823482040 338641848 673933407 848554432 982806446 390391721 911228246 717747246 987891725 847208750 396414026 479372482 839998388 321425176 568325874 676117002 111198697 801127446 576368654 199737457 968687082 376372156 731939204 920715863 797481054 822094390 639508781 566805248 598004059 988726353 803501415 905056581 146480520 724822272 917944805 686821593 834697638 525618165 160840499 191584585 173110480 824891523 689718821 458243408 233623874 717149625 297506246 233708863 914165844 746404793 772697358 760932152 572545248 134445555 641036394 157610983 846257100 882078953 327312642 672729040 663137746 942435051 499325784 592436757 681097078 821753182 681141042 731750113 678264298 767082846 162605025 672768637 304226305 959208848 286492616 376110126 109662079 175964876 254527920 336548767 866942118 889216884 866317812 524601864 578264668 435447135 642175869 384812275 205859303 609624388 776050023 392090083 802820545 824057019 557370002 803792726 923927946 721789837 339245601 935587403 566405240 792470655 701935179 660803792 845086977 964004712 645858255 984769837 811347376 677147143 400807296 923628208 482747602 267613478 480071261 899762809 114663895 312666772 112980867 326363392 662724146 580374488 843916441 848315648 674298297 160417931 271897145 855769123 795008306 296507824 589346568 669732222 182040289 178010569 440311509 940047375 871113942 778405868 647598182 904002607 935230439 663306739 546557088 840996998 477081905 990990428 969891888 463551671 447005352 907693281 945779090 167151205 271652768 157419813 669177454 626587628 847620209 752043737 905308796 699069647 325332937 781002104 890122948 406392321 549424119 568781423 697232257 303415395 806892804 580378272 426193011 525757612 727314538 205331816 168606291 681889279 166148678 618742007 700024896 592219495 554572825 724487093 970852298 425570967 899272625 901413545 718691327 459911527 464657565 990821895 327410632 419536700 122541689 301166546 559960837 841204526 547037495 114245860 812833262 898471880 105469667 316260263 474411946 371340658 720476249 129024686 445050066 445974832 221861672 468624906 636948444 506649844 139467961 524737338 316314446 759394135 223604316 272398315 308988005 402994229 119276003 161236972 650047610 994760401 310391247 925518541 829523350 255487773 206458010 495916752 780614437 535310260 944055941 903051028 337815907 476949488 344596796 738958157 300134612 175976906 635766533 688000169 647799057 748719134 406565452 534262455 195683428 850876634 751157146 804943015 788917680 490449794 227245362 270098155 384599025 407601315 164172286 638875971 868959975 216354686 146207897 803224885 780966493 961259564 929313945 421988585 636577432 398533364 783764202 636625829 790059863 318879756 880559454 956815071 542441935 327640515 656762506 765908509 790644558 153237749 921179258 676320054 903745949 677349620 202105492 224091199 392160710 889181251 532428085 885740426 969946523 189840077 531466151 834397808 816651931 406749288 282968864 719214235 308830986 122563976 577065451 848128589 360684291 814497573 214442200 358817628 776103359 755990476 501059925 862004483 780507999 936709282 284769707 342483557 258020945 288089061 950688534 395183791 553383711 883980260 704846131 598984573 898506918 248700248 202157401 986322587 973396668 252704682 154083298 290809648 641355733 373926885 946318611 157871919 629819424 158960211 494869207 922898791 894894313 776271291 294522144 714506077 304392526 915986666 510231682 201940161 702177017 553484272 276902784 550505442 528372500 380860651 263069910 725382724 807975629 374650366 164761651 640675925 809727247 496515027 273270391 469565748 504062971 102354611 572904017 695918662 140306207 797965434 999203288 509477131 810202855 919822978 437915208 323374857 896918220 370288861 914988824 224416303 170166255 329791964 584565886 605309743 571890090 116047986 846312331 941954600 294197147 573197314 856457833 803764604 253517662 221008308 812263616 649932073 308220138 784459645 536288042 644145102 824080039 214325113 667555915 157976811 982999523 419013853 215596444 264394113 863908961 491389198 804588018 603461037 356445644 203609160 962260412 312243190 770747726 870926975 706374491 995391461 224412266 707275875 936584144 896585243 907373585 834053396 215998221 997992974 801680159 587659012 943559056 645348585 517640491 933184253 597453663 196097628 218709931 668530169 971916847 623110695 115806933 163718370 118610782 714583352 779498370 641914923 498133825 866535891 983447311 289294872 991910032 456006521 101697259 479507654 515902042 401598809 464583793 378622107 669591408 275690741 464434740 254830973 671880831 247763912 652482448 927796663 697569630 710599790 677886280 504194443 299509890 108394142 711178017 867073469 341336535 632177130 869712112 342336541 984158674 492992188 836483705 493386858 703371860 571532969 829528001 434815279 350711611 576052567 628776792 630128870 682751708 899227540 380160085 872069736 273591195 324962605 437991890 285208545 109831617 542955733 885075015 365779620 357956434 186029125 660656272 690048578 754687538 123336315 280195582 861059583 970467986 791891934 761609467 761217157 874244634 895085115 497175710 901593930 978350822 637536353 415223015 259995850 156310274 433064840 638704254 199462254 281802459 197206609 363943299 149263987 463979278 914391629 136733811 118566250 705089725 917787515 741078800 686623709 546137649 433757900 340907753 558887092 843249356 911609223 934875994 999965064 176767463 801349764 523314515 190872221 833442576 341626669 275075261 547741338 450429069 771210708 578639178 129980089 756210631 354379419 474433091 729681561 699322891 242118927 594651720 240871298 817938492 807463920 849308429 291873582 406225417 811027109 423354293 229875874 717063823 210814344 654132506 913278085 181034718 542088591 887537298 214598383 795737584 614738196 724212119 553407733 346825667 122256893 599364551 138807649 997281360 199848299 226185709 331486209 764190624 331801931 327892546 444025933 690005547 667488991 358254260 730185703 713676970 932782903 302127188 514821761 578237234 916720630 304433283 131542281 418079367 328580458 197646897 160363828 636208262 314292071 371408049 820787077 256893727 819382460 328895448 687977316 733423886 604040551 475306996 283867295 950884080 346494104 833379385 682889177 129325526 757554567 311504406 670826545 419201387 327625484 433873580 397421450 297758837 769533246 771214506 271874512 749864933 613911341 617242319 137607397 473477123 341087161 788164714 237029098 423884685 820139607 978605564 269140453 822456549 583884097 904568301 120386458 914530157 520062210 552701901 901715475 176977394 577216238 333880609 620712098 664085313 124238363 216557190 955641754 636267716 326716658 274679513 262633830 497866104 453284968 649310621 396153402 422188865 403298503 232297237 483538810 495727201 435008739 775336983 418240526 854704579 909564846 667143671 948546227 806080369 336537438 732935095 906684867 165706240 471567733 596600957 176044413 837200770 377777455 915722394 630062871 230585281 798580570 107412954 947505549 697513666 430880892 913835435 308847390 797864496 268007171 359229765 926229705 844684671 131867603 558782772 592409991 578803428 466114631 452254271 221035520 791566974 528092013 465955099 831175158 529473431 636663414 849267390 972442795 887364497 370046474 461262794 984110499 331275636 491329145 356322948 525559659 426048888 238439223 592607081 883482096 661864727 864357322 918040502 242360861 432387440 208360831 775613267 987774771 436993668 530698556 974272004 239047328 497069072 828401053 184137510 257892941 288067674 535984306 158185987 415346444 195892789 680176834 807533844 928584622 728336679 931755812 355802242 899903037 137563848 113664029 559535862 676832002 824243243 606369712 816260328 725538878 588779758 682374016 809809441 541487255 796782752 178771079 610822711 923174814 121832957 467864664 161312870 442681543 626808322 906686331 648070497 948275637 642419272 680496559 509918537 364892139 326367102 839762505 773615701 442175171 216845087 422737705 575861326 748841820 134453376 712820883 137251231 383883246 253191006 393496442 540734502 654214087 883862225 890456547 734529145 434105300 941352527 580150895 834454268 700974194 562505496 198574846 768280677 503814094 429024006 101351762 208901008 716132889 379497199 890284277 924104561 436140232 288424669 816200179 154968284 299169571 926463892 209853787 591009868 629858103 264074302 537686478 404112404 547601015 151376134 807481255 570141934 473784698 115806323 337652064 619282056 362623948 286033078 229477409 499646261 964082931 103788746 917735860 890431033 807938918 477070167 270261526 277380728 406881779 836297936 447418484 711852805 830614754 549001093 688463619 261814302 351372700 652028831 719887115 818279179 842946199 350068056 810460795 815768250 929750505 972657716 960405401 525815677 406028918 266594271 626596004 395092876 299756253 331046150 456750395 804500352 149538197 601081429 753007706 655432062 718751044 504111713 442461020 898091378 929852739 582746555 465267377 890426379 213203097 736150553 461948421 813762633 754342917 356838937 434744724 327167165 352657209 137500963 796494348 796486900 783115342 617179946 564880314 599285931 382486214 545580184 565206496 946364247 643310242 203274424 843913577 263825188 850205426 293548670 124425558 476121055 401492410 400049244 278726838 532153279 252906777 422436640 480434062 363463321 458013690 205735517 950458428 418021759 855242860 925623746 226285903 572368128 873244254 479905927 130035313 844688392 355217924 591853345 194200340 322512581 656133808 514531033 582732980 540138721 628986584 660585883 785968531 323563467 888246508 223210645 999940437 220121617 931091528 902890703 239910192 363763892 688207505 432432027 664352728 255879285 317772529 613940625 449865471 292226529 472139861 453765199 423522311 765346241 208659316 661108098 259403715 287600569 752204700 966158681 908691688 266638307 998096067 799983625 470993681 837773279 932530489 802748331 478467089 295797774 514886954 726009170 693145329 966988255 855757954 982710092 658381517 408964842 631994485 305014348 751317311 431587952 836457038 569173547 219430767 475946763 330262664 915944864 778344254 618207050 910126738 507067984 181324619 537737616 655180398 698527744 434837740 995970890 206770349 419971885 727128808 266403550 391083038 968722112 417300264 191227268 456324071 825918449 309780844 766459356 796446177 246284540 343520039 473872988 454158252 971153614 260140153 792538075 345770256 392122429 921356807 481962350 911161419 328890011 741754546 520345449 767353889 509004148 223204567 939211164 970273557 794993839 793446957 309546730 408037939 687951351 135997961 269098604 466162616 462349784 590111114 843527056 305776845 630143687 785930137 971969411 370851584 336896725 142661784 822855382 389950769 431998803 186093494 579109461 309023653 217656650 800955366 782168124 333469073 525949696 203257637 655401483 951111136 616093150 895597682 741428385 975297809 199485349 556993361 519965786 143335346 928491771 255866152 183363984 518988610 300722730 964257016 595307762 226418595 505067055 938361159 540920408 937630631 768578471 193043222 137244337 405688328 317699641 555287541 907488438 649715505 418539290 532139357 479992621 902639204 170611491 444624145 355976160 936149740 495411429 621407672 492839614 640957109 629639503 997493090 748230411 274272019 947831279 571815004 514319141 185281983 809986103 408293487 768028469 373704166 710482893 789134921 150499389 893744309 332931802 623985392 195199741 550556793 139287533 564801379 395197989 864424496 901758473 629615970 998533183 776104444 600958461 882485576 339422936 394031223 612195762 208390694 314188440 841323286 876513388 815564515 409150481 192338571 175358493 805549708 858992710 299350807 122866413 312235079 293311546 534479187 776374162 815091680 850247087 425859051 718952347 913938395 857050609 619492134 198520015 928653511 847531212 616782591 906201486 351698166 116301506 978440845 341228439 993496039 764412618 575814765 318364087 396638306 232367482 874233256 489920684 454914169 424640032 400421228 166643491 579203972 315414443 819637894 575366834 384655131 408726200 249107488 844591485 860196129 914071587 423153540 620266477 565370428 855705100 671692713 464413263 879079543 330070703 898986904 710000606 212393051 278168597 393744388 170162678 324968170 804949449 910739529 368116504 602505871 599404395 702601234 852339698 615989952 676939872 968435721 965664293 187162623 459171480 713086295 868838039 917963573 126495239 253642108 110622013 628760819 177886041 862249231 228829027 471788524 754275102 580477079 986505959 556877205 138396149 366993533 978024868 539346628 681270416 668984198 151457790 764790998 299877432 641699250 794766481 179712081 358480662 648705854 408989854 193604690 191338621 994903598 146869561 716011463 312101960 670787967 879532839 994063945 442761698 596713054 656756982 199304013 773332642 321737335 770670953 688582471 644748301 448452434 723331291 713091265 583077460 171796043 170302992 732104067 925773977 721842076 319200099 801574364 895842740 152955850 294541347 262110603 208530254 408770315 226655804 443181114 810809778 544145130 127928235 621714284 689631792 498275874 259961282 600674109 300299926 386252006 673464187 568596602 788699904 703255908 199092421 393134196 106357515 559749113 426190037 521966930 816858663 548255218 497504941 156620428 634299307 841924191 390671488 704861062 760554213 666341804 208059523 832575709 995206206 550448037 754226131 987089126 941370785 274761067 370367593 633525945 387047321 714711103 131459179 524835449 777278934 295126995 507145071 789385721 709949249 275435227 624244409 281784195 559393053 674567499 798027446 441948790 852074934 233556177 312644491 525351048 686594828 439589569 669515738 449788989 295604367 516110589 813120000 522474809 235325045 698138149 254014548 781763697 813729368 521885661 368467941 505341884 767563982 874596500 868643194 330124468 569705102 856152418 181024960 266599544 668674674 297984747 535714485 360739933 839413879 341777697 537884923 341909495 759439170 886263344 107727932 278675940 529979445 432059010 625914584 970497959 758668882 487465067 787650456 205681490 310604687 399835868 389246690 724703559 678071954 688231977 801849784 280831069 809742522 499149665 765096049 680572921 331439338 219037511 331723301 483472078 674015287 495040621 246569920 763322455 365578151 273981032 611642547 970844336 974768073 404018111 415351822 810544705 640143102 973331957 775716615 705470094 744751876 532262222 255401818 725515889 980139879 337764090 560168905 411545082 429064773 211675986 968818659 863976540 191154695 421207724 750719947 180418632 354358239 990920933 791234262 252686496 725372294 441368645 629686408 868233774 715661855 597989292 558486424 736629230 872690605 731479933 255283533 179117048 453955678 275581970 341488965 971718206 252328791 741266708 112592616 151376518 181659358 465433520 812491021 423880425 491248281 884556320 401199796 497513185 924737801 772024773 781077576 248775139 512311437 996160971 901478693 291765826 664249525 596295750 972387269 517185220 991576718 647693730 514613648 964579975 676439072 518646704 266827165 199542429 245915771 656982235 754291267 355513362 412834850 275620305 821199879 470372443 782433260 961519746 934004209 373022595 260541181 979860329 299241477 917825989 293760229 665926692 897527137 265447604 726186780 347366954 781285387 589135602 857489349 384371263 640260564 730260632 785475669 784775364 784072365 638013618 538095260 228677349 980825152 763940087 736564788 746897343 429310506 729768028 417089290 712569767 119755686 212209434 312688379 726437414 446505698 813688938 859834361 616649294 278104393 623628212 480608624 485729171 332543664 605717215 576921843 641109794 411293953 396975333 109882112 282509475 750190170 921116871 967202794 634981281 370018453 983992189 285819573 325688442 379826489 728125441 357413990 591349174 523413558 506759589 908732705 985745996 720859095 540504444 579693074 330993408 364343049 562266704 320480638 643008166 816886431 792567076 839906699 528685886 311097782 948255073 156187377 326673927 947603302 737391061 178228584 470419401 943450458 419604683 982499978 500780839 369967141 645542895 729093238 933413184 355719864 491968891 801607899 497929709 946923375 577173881 368022044 541257615 514111471 928335905 879583896 900116835 948314479 961044322 361354985 693963716 318463854 602293614 888037765 374760316 210596201 900631511 556838694 201363600 759121147 115461704 897108218 706777861 955909398 333799710 403463374 397972125 143825397 811913993 204477718 223157745 106676913 842692836 928505954 518432434 677284458 999008417 452385993 865683968 895225792 712365363 697079832 170989674 288844385 606323776 332918685 942605613 187926711 778105706 322560679 823803692 785762348 475076518 262872772 864656437 784469655 351248830 826744188 969452782 906796068 714245645 744066870 503159010 445993134 302491478 231579344 702121271 826252653 159792472 394659864 349575271 547887465 491636400 545178948 820649410 671712160 128768411 899066804 917890153 436656742 661328031 472520780 887100687 547454428 553688815 649315034 308481946 359063902 996381836 472032300 743709727 648747461 485889547 783166985 353077486 439867049 212013010 622221343 156226181 815023349 791881996 892955666 726573413 981753534 936179882 187670549 822472984 310087207 793528965 579159960 585055999 141370935 371766964 774602137 576195512 792455846 742695153 360549761 221659256 941542707 125622481 962298886 896735387 726563979 569173021 378972833 998192253 128046827 696687927 474444330 162814130 395457493 703795517 414066780 840921013 781122415 313643167 347307736 314264485 790847724 755835765 521862882 385024529 703378891 704455417 914313324 798553927 230508946 110218313 870069955 212494759 270856112 217160016 999497703 813510732 664366788 686257892 423817773 661942698 882538528 588201566 198739262 539819275 672440855 314796599 233791139 740907507 941613344 864189218 174159390 812578916 312436481 659421932 309527836 238535403 978485271 232594862 385192052 925243225 262134074 527323943 217844763 196567512 722626108 146480210 612376958 460922325 173560898 164606333 769384066 920401686 369226934 208675357 775984614 334559828 672448968 659467841 720899952 182685906 787588543 740085151 660583500 461314150 892953858 877870946 527462145 585661257 998389126 930585952 249668761 286085832 201940308 259842211 119214575 463051576 908506418 699422688 618161272 952290862 234352348 420703195 892673934 287268912 206517428 832546805 350142973 915451073 674757310 392786668 131019467 950487767 837499340 580090037 797916575 433958345 584738012 629151200 264037867 494874269 801896773 337545245 780999968 295188992 323466593 385622094 359988073 182976943 871710162 598487933 528899317 849758241 773909588 780838541 291503521 336146971 480360399 115695713 420006959 848046407 102415275 999382648 911933101 736379466 658815493 172727101 696928570 681733011 191420267 425127627 678479419 828073802 688041893 511357804 698940883 413524427 342158748 848369568 552255726 701164307 210053289 955053232 500702680 179215250 248706394 343174607 914796094 443272188 891303173 136789070 251200925 577887511 134051750 573000838 273402715 261302905 165568409 947626377 938277037 903742809 817706813 799614987 964497101 750855524 171358886 629423735 956623736 780316458 929188620 374552481 979087692 878988713 282750216 234838277 338568978 815212824 196317153 495397002 670142276 963293750 217984771 421778830 941560771 306517955 831003264 872677502 372689312 730394477 551248274 598607291 101126105 762167852 660122851 137409255 663441163 201468690 333101619 463944685 411908244 153489980 598360728 257784408 600746462 245226939 446177703 129426221 213468242 500949875 612278171 119421007 543202103 391785970 128509997 785596198 797934123 224311049 403276803 949875521 962718955 802074650 423477593 505943810 203884620 756620485 313401279 703067152 601946063 175373342 382275709 848267150 951489758 407730981 302832451 156424406 310652738 506247213 339436588 893910712 938826511 511097491 704260640 559818764 496779232 718142072 703610461 925627433 803838334 772211056 953776939 236058915 251237355 772083304 871034217 176124544 167327841 137059398 160401116 430402088 926041087 761723143 777010428 309529610 836637280 341661777 602239231 834146391 142324303 139872770 544076651 276154423 223290071 524868369 504986636 764580258 510326396 550856642 971325467 110004561 256725230 793489310 725717196 923331323 562871370 728574250 606312100 977359282 869707484 132026298 801381532 539673748 869816586 535332966 268968331 944622371 369940971 834337815 229245937 664849798 467604429 709124385 285959031 663675790 459275318 334961117 220543659 400835731 718555055 369693172 309960161 317523256 380207256 941228710 843993175 674419547 753016635 280341872 401322360 207157660 629976816 749116922 881150081 825504655 723561001 480619141 703383773 864900965 118164824 750521549 879081106 474054678 939655428 175389041 517489608 997083172 599272522 862515378 392147805 673108155 316914443 450939091 416892308 889080566 378798029 134386309 694890514 126673711 150871293 427462675 424295598 420524808 560999338 721070355 456320219 921364971 957958453 891076926 419281219 232987387 881748675 529376342 591258484 361665008 533449577 831567063 518278869 890595486 944090914 792422226 332114702 183603781 970254877 356758486 125525490 316916306 800914466 541594159 601960738 546940917 105044416 952668939 260235425 363037285 820199950 516754347 227464808 322745462 601842278 304389235 813835908 521855393 483534988 392018539 995673622 576636518 853461661 654399385 885162503 225273485 158697889 702174864 399895088 670667514 898580236 686857858 231357048 124667653 104408981 190724971 276536543 970068132 148022609 977241543 814193191 555224236 100003436 439483084 206024231 404768532 998966565 300701558 658516017 359319462 797183471 805075256 561751483 338215475 331143697 694975332 900287339 371918066 266599871 604589416 482237052 631843645 212498826 740674459 635396872 996145971 120397352 725151729 837898450 965043818 659154749 976444103 320132066 766353908 352873201 111314428 719295506 282967826 604410624 603327446 144038723 792601703 587050676 321509188 239959221 164486410 855126006 300037917 516825467 159864241 249857149 911158342 994834053 946784210 134931063 241877647 782202113 274419170 159501470 302898530 149041363 665336762 394615865 355197225 779879630 636044606 202706311 443072802 332395420 532379164 454070962 150235868 122501639 991733420 683899840 637242333 143805068 367244802 756625666 231961630 386449101 644447592 656983480 468535971 202022593 407343280 509118595 465777155 857552709 193243564 167091685 152074479 993026744 859475020 846938563 973927460 852310009 544121570 252019590 961285779 984648455 633670913 552202900 270319397 913180264 892367162 565867877 707920321 573597954 987156900 441648426 634249057 863972981 114580004 289442191 334711851 730397017 296670842 804408134 521839269 334273323 473491202 347803665 108806295 836667232 803908928 580359010 151782785 840622698 741567115 607716555 224703899 555741234 876311070 434677274 108384622 218670156 116277270 499295667 237733241 462768545 978916389 367434826 322038643 552681874 447773033 910272019 782922338 468026945 393317824 465347974 769926607 805487226 122007785 477343094 902142223 668895339 511311859 810928085 588274579 111416182 769224696 459180319 249657882 669159679 962435113 892576742 116545891 918340775 561467158 958055355 746955955 986081850 380906944 837432286 582104043 166333626 627052814 180982353 445250017 138913473 689488569 471351722 320666948 471248290 800875612 775849718 986126210 433426091 848694513 293010178 294311663 551797934 959655863 373018556 890623236 737763725 615871514 444414833 234647583 583651925 912155544 995025778 551806563 307959103 347654128 859611240 115689820 953153272 556824821 533425588 318912975 816479007 307588971 540051544 315538832 797684651 846851217 158860643 427079499 503557247 691956604 228864361 242558638 847647982 715133760 468878212 584084287 648296207 585183870 492583539 754116623 332448997 457976916 561769174 721195073 176695312 570263918 944469094 329171616 960967431 550695602 885259489 592765241 463620222 637784059 212951162 352952307 128068004 504573628 916810163 801548916 850132957 531788381 773694631 622907235 224527717 720391230 311435949 747372902 504203057 286445476 279371162 454193440 867963060 988143413 419542044 843761935 218524413 680158250 216051121 743242279 332105236 665988466 295995171 912498666 860093472 963885306 445959168 681431816 183842965 683985489 354447735 771145351 572529498 104960128 826302796 553676039 878648234 786111579 907169418 206608659 264022083 345816892 179464597 181708334 153264357 583004564 151660953 830746809 546208709 174618317 726676571 473856006 717003085 546198779 711929502 335859716 663901136 337761202 219479332 276096085 155493466 949350002 812178872 977837027 212362213 233174455 886843498 701027167 696822571 519414162 490489267 605630419 397399936 420188828 100059002 561323167 176950480 690832854 368278130 914049074 232524300 211934600 852412542 344069515 425667916 138033845 509749964 649757832 153048920 776885045 491337272 545836069 824151839 268507987 822105768 864908089 485197472 623710652 766405376 146351503 613423326 643284676 694997477 578926102 707180206 439831775 337404876 814843163 918360171 658542065 996238754 334347879 190555627 471076050 247335520 644505941 803298490 549415224 771735373 582089199 718652991 997281275 939444691 132580704 712929783 760108637 918953370 679562765 161785168 276878171 720805099 482899520 709378338 270990382 563203514 663219286 531163657 310011117 126518595 420305789 256654507 674346945 466857059 445397914 466962337 395687313 944863704 218829901 497672514 532769540 502573188 883167258 816413285 358745334 680600161 876311818 346887756 853658223 767016826 394709685 505529625 458044122 614048425 559006547 971882810 861565084 130602603 773153501 670431590 938466580 703111595 205303286 952653366 665907620 916188449 891258319 546334303 401429976 948772014 958714131 879336066 500014623 926691902 655399113 377196449 605577231 870137173 829400582 102786551 538652207 731552114 394090233 808355647 127495774 261363928 935664477 872061607 532906633 574550487 881856844 139853778 925482025 494011464 419268320 147124951 373634402 501898783 339681635 461834810 785853893 221005684 288488816 324061414 420222208 563990963 601765279 148793148 610598832 335850473 539475061 740062991 647608798 456876301 803025215 520114868 562867206 103932037 767353679 997516984 389021878 297515966 340817589 442631419 754135086 855506981 298501611 100736575 865132886 516356423 900430119 998829339 564831616 616886596 159005163 233063876 207439677 175222063 493479566 648342055 136843989 365999308 331559565 753236533 239604290 963370615 853340313 792139535 383619691 280258274 471958316 131193432 984698437 170196721 726322912 291335053 754754532 689282149 201227780 661322209 442535159 327462510 352429422 172954814 151784583 578308963 983437547 849208700 490434703 424899122 907200843 955661427 572236656 592457785 249477968 771862983 831776980 558531463 784265910 350840161 969161876 194245573 419008653 667247905 437202633 812017340 470225636 714921963 861842290 336569918 992027581 142238190 442295669 380951353 354774000 481420458 514697274 171700188 529944517 357446480 834642886 710855213 708616785 808689291 311062437 895395629 139572451 499045538 794130481 557557663 500051640 363767837 334106146 197081827 197218685 322865422 333967455 542032357 381945646 325993685 958804252 379813823 732702428 331471850 713806079 500510149 868022368 614826094 536315623 832369367 257121553 873057363 829765039 419742160 525710318 449142956 898784187 357756816 399040893 600497354 678659952 692123271 455319187 884118692 478962739 455661605 391936799 716899484 274181967 119888848 863689625 813441514 433669733 832892063 128723154 253696530 356797773 370674771 662924307 918079523 216904451 469517365 493842132 537502642 907408345 910844194 128036889 865254424 936299421 806371859 588748795 305069104 831254394 295286953 689791496 440856683 204554714 622883755 996874710 233638789 949691707 991247873 915076141 706949502 105592803 192003153 297962855 198407969 455388575 267971461 175742529 658123012 163539068 876082602 863918829 268308651 764361505 960409057 517466725 392063463 147264428 857474078 721478943 110112243 766942979 732396503 311367371 370774961 538651584 287843649 415519109 540983076 120713994 116403448 655289450 535613558 142266299 972808413 799769329 308345437 376703482 679490477 295745982 808434824 274211765 252357432 476736043 156775094 116290574 719749741 158238078 497967505 224614210 983047493 832902269 861426834 659288829 159210649 870009292 755913879 100783435 740649186 393817164 398401156 252170185 890889866 528907153 691995552 697214809 477995125 586222102 737796933 158801277 796797970 380197783 646225722 538812845 947654201 429402575 415203910 463276631 582560431 221956215 255921529 956000897 446305114 118253242 402062450 751313200 929541394 284909835 769994258 943623288 366526999 714277265 547188696 833969120 257001672 602441553 197676488 890777164 428183758 518008113 824020832 220186406 311624275 830957383 678027892 203034234 216019239 131986575 128487504 846166641 336406141 870351436 550944515 100581998 522992361 961836509 668566699 482495900 769299667 492489708 185190250 615046692 165172536 239069337 749825061 182836652 600440006 645730002 858547239 440465353 368272901 299056080 984332857 237221280 605945652 803709555 200836764 618574528 731210845 753006273 688894507 126483015 329589775 372360000 102095310 876852187 629931282 604724249 820758351 555508166 715536473 498001487 645726997 120093818 533687786 870376531 813980157 210271161 377280111 335886653 120923037 855842588 746395373 907859715 712242379 202108510 838333380 289948670 351760414 836934076 381195051 401227277 741522234 157944663 795576848 491188621 368776528 530846017 602132667 333552261 323227131 629087189 179220575 455625258 807127939 427597204 128570704 464125007 557761051 727127595 341639640 311151583 759408157 366227188 454389063 229457061 456409402 711948017 861576725 923929498 761750990 820039971 240384762 153400157 899256382 571337198 699704284 780815669 159191672 807768523 155089324 233845431 473205498 147162339 653257664 116242201 269201397 222804652 778023472 109263899 969872993 635157135 106772072 812826019 510978202 360515626 665665634 429769897 577999092 450303414 961736815 464202582 624658711 387544197 780535699 726718563 583163347 699913887 340298332 633520223 102146313 281039334 830067925 158333572 201096201 117834129 635033801 163338929 686194709 590045993 809161850 486440083 410444397 657957345 845193785 701137978 986052109 759776524 158205558 725888520 513714910 935648052 672638251 437418023 191297029 984809263 875083143 664294279 799942768 449616620 134165128 371001168 144614070 629682212 541653558 365528174 731993625 462980674 873116866 431311046 470310782 900557517 841672505 638836734 335133176 558124265 788936072 641368817 300673080 578129751 128465837 627138410 645596247 600553717 789786871 106342120 617916902 368189825 265846570 830123861 875286287 824404808 525119003 908905734 146046301 265090976 127348041 766283387 821090914 904647043 928958607 864252835 856118956 309897458 847596300 757114709 732105902 602328460 770759614 879385136 482098984 915022363 346849477 841042872 850056495 612218615 163904801 368993517 993222718 808319349 736820746 573607141 796827363 781727619 955854821 568905146 795342691 367708477 816071045 575614165 485830786 369662118 623246686 698206138 511858793 343492232 637198390 456486372 210366793 482674097 981767146 142935511 814601512 894774306 487160230 141077762 273162277 266404794 791962874 414316234 640349632 558292751 521491427 283426461 583554719 220722556 751662143 987791318 403958378 360710923 781965378 220852318 665273640 457421637 771240629 970726018 200719583 635838124 847844703 924848621 757316608 327518257 902901905 911700807 925651980 618243287 103028629 179246235 155987886 448299857 741737648 853889747 599688185 799592410 394102263 647059902 462888050 421763848 691571331 501634436 962409991 612937786 688460810 342688669 403024355 964286485 620161515 557386368 142121821 318802034 441140010 843249733 944934266 724032583 117670185 664334171 444917251 626331465 830202335 293368907 475391777 329109413 372313848 594978340 572325865 523889040 214577148 771332917 705588745 425321839 743597360 962290047 762475945 371865570 719670328 230116670 914387620 205622466 480320946 827465681 661828230 378675812 913836602 566219494 762521604 827820024 565671984 941200446 784210272 982672293 448600275 284402205 575229440 529673304 224138664 546728243 253270870 281622727 572491892 946138545 474119239 685883274 733929695 319555788 822303676 377052024 794185641 117921752 961884337 173947660 810182802 192518922 673328639 664957242 476044077 344514242 380999313 397919585 737470912 226994530 115890599 781328523 190084598 274881345 994686799 969009160 630184999 898599092 409019566 981656446 885499633 279737767 248314043 181455826 912022951 658258205 463620337 150847391 881347887 460406705 941057892 767107967 769901232 406155123 656622733 463328219 838077545 705097590 413192911 169193264 379753970 409273805 206694824 600009035 456700329 257899161 748717100 301141063 775836950 957583038 925052650 680567650 506449532 771442074 384153916 763558753 932606714 727704714 750835082 214116816 231343814 741700970 527274205 337184768 985148508 972375014 961736618 831976969 894049526 347519364 235112504 858237615 193654789 594027264 853497754 907417438 482704053 563757770 100565621 805528799 310402456 970827526 150928163 184579989 759418831 968946015 470835704 497372558 202546718 166327308 750020294 469640688 247662014 621944787 273971097 879511875 145597999 707365137 656106759 855171622 756866536 783185776 412112860 569519741 916229756 281207419 957055098 510233626 496618053 746930876 942655457 961503157 584113432 412078425 638815309 629615209 186788439 153829697 215158949 434238165 640722983 332337092 841226305 770164991 103992335 318128468 163288494 582309419 464068713 875277226 514478318 912533200 748755057 929836992 660085437 848960924 719230140 778021251 144567890 208134449 376225427 466611002 908925001 809978827 531398385 981794288 560669397 144443089 556935478 826809401 955956370 937811529 108689798 110515335 853501638 604456671 777999835 384779278 132235856 393291771 827336208 674559109 660530151 503139170 322263060 865888001 401886773 426127307 759933083 925238082 907846813 473349206 792871085 599661067 251129917 561638769 808231945 597519117 502673842 933011541 668669508 798245347 955791379 910442697 480547217 993643987 105447754 464627747 717348722 615380425 547382854 250273669 753375775 334475997 333887793 160539707 707070993 969097502 207197117 351889665 636099247 793004720 776553097 777762249 355188882 135533508 486858476 192773001 442833553 778449612 376834024 408602848 255893215 969939001 588700488 737183066 388771229 487395372 953436070 659355083 683990620 929193725 915102948 320236904 825872670 601890284 164322393 896265848 442583242 745772654 900855304 476291946 688378071 123077192 772286708 298834579 109964971 386090509 485450050 979352747 783908132 591616626 179464085 373409253 990414629 824438279 407076688 266044341 139828523 826587403 543053832 420640435 441521905 271575523 890389966 643554680 717339399 293968348 629801349 787304515 802984268 291470157 111302891 708719558 703691148 405231274 571412424 802515144 713029336 592167928 896705337 523990686 708705413 523731965 598573806 426699924 641662821 324310664 298389869 346147361 858005813 485133417 307620802 110894449 376586614 478290836 859560445 562920820 343030544 534184379 718343626 293617419 312076917 895763700 568027902 794942187 444801877 937346872 300934216 597632784 887856615 907029425 847219676 522489554 151057724 173390458 640058809 419260431 777221933 942535808 293534432 402598940 881342647 396227026 689466311 245997398 753659845 326982093 860338190 380017226 334836042 942256987 587971757 838305177 132660706 749164628 804265694 300167431 306026777 145633027 394010430 607118096 461954910 542088997 662159209 350890124 192861288 712125106 427022871 566941825 353846200 835789371 160779524 166476642 118558020 922657033 491948996 222863409 375986105 240265042 134709764 811607486 470758691 858086762 378168018 442502522 268550199 478811875 485464664 614799979 365591006 292284880 835429017 708122977 946046341 313135292 872385838 325462566 526517240 225456340 462399645 967116632 486317822 125611609 357931122 766006307 268666829 736758034 886738806 665009720 837707688 889902264 590473273 685263434 984862115 540278403 764067478 207920119 703177307 201135915 950768903 216538678 690286341 803595382 619400904 888493764 870383792 439934037 944818908 870349830 755752117 646782774 900733741 315736115 816707130 419363282 619248715 229005590 996934238 536468614 689098921 667973550 118829414 245642348 636241215 381940033 542491542 964465844 401563746 884690538 394675601 869614951 614319500 550900107 585449021 996163698 878834041 348109008 424495517 593654914 327543641 131062065 477086638 129452444 259649636 790835507 980475950 913525915 806881151 821356725 574174089 949242936 246561448 220067216 425003413 360365643 772082445 977068372 889757211 172987188 439715831 582526925 602837808 408787928 862545884 677114462 362011086 899525332 627579748 274757210 835664927 320434970 692893269 862278280 396480561 457391374 742408743 231607786 546367238 712656857 179553842 965373913 738430868 357071279 612307978 744242192 581668131 914716443 157475803 780376018 403941000 300374232 687886079 599886708 257035724 879486545 474494898 255960021 485751979 538268699 235826859 426070003 551314537 389254389 467908224 249826779 100009806 125338872 280777122 780023223 973546092 340099943 290501552 807646611 198223420 415140359 217921435 377856317 164593416 489428801 742285803 235193835 595684604 198966927 455688258 467227874 179347558 723263075 691580915 315063636 291922460 972041572 445981983 542629691 278803478 653860212 536330878 912858717 171237545 637032996 123079822 488996344 830532829 717405110 378664118 231271144 494953157 192301392 527362032 729985390 789713061 746390248 343955948 113608695 866008266 788463370 859284102 252211687 657859959 622240269 679002306 781303339 873377470 511793547 942681526 357820494 903012978 809128133 459304094 536719679 858061178 933916208 640637079 376448579 448513841 139361209 153799302 429552435 402317616 600621559 777998337 402654601 199855402 584666909 294785110 444863474 908094687 952441089 929134290 790515867 980686499 287730495 771054241 147633361 979653022 793908388 529136515 291531487 558717798 960396612 615770901 890947596 477263483 303036851 649523086 690736384 305771955 996054971 623356369 147606136 816259896 761841334 844244384 750150977 146888132 425873700 337771780 273379451 994154613 268879262 433393970 244917200 251909055 421986995 238403599 680350633 122475386 289036095 628067119 202647199 994291834 826325608 917037270 286204802 356922292 818475253 427139673 724102804 148423345 207193257 522157079 723486424 371381705 170575519 440185804 241242715 402409882 709358054 778097429 119630745 419850092 454074721 281734095 552405411 723218611 323123706 301204664 681990152 725713459 657296974 524397890 830422613 678205431 773727967 968782519 836467258 320858232 242732586 576138104 237395051 714383325 872878384 586941333 970598189 685526358 329049806 492556116 382913268 227928258 681777093 806888819 913352577 253176588 532223287 454595378 495232541 243605694 691434669 991690719 665263888 648264255 252430399 904597224 793892157 511955012 264242631 114338450 470213340 319776424 427823250 525922060 578898171 502950458 274181304 149616644 636201144 617001872 488968400 385248545 246149162 383972033 938024631 582969677 814558294 911837008 963411919 900774364 441092753 898788409 794024745 720470845 325672165 259994547 244801777 313645007 384397521 531877090 662001632 606038934 755006421 978107582 112357255 730318503 392053128 359613742 856114039 857923884 978340417 678042501 640507319 145012759 901219391 720050617 916666775 731387402 353681699 789238458 231152182 693043485 487805615 730257729 634652871 977803796 758081920 408817677 234890494 820738178 221182173 520176525 389642483 255809944 841257595 348035060 513392907 691489684 924951298 680139445 989421090 994676023 194603293 594786349 203406043 177103828 130365965 632990270 192021741 667050424 384791191 361336293 694333391 154830321 434517876 775054922 355592602 937124602 231239444 463684421 538313400 911936222 277668230 575718570 294887782 640645042 830999564 526865942 904491427 253773853 150495649 915958019 833770430 190636654 858716088 469584082 376425370 316476228 230886204 127046722 581562240 942855771 192359852 768439568 296788261 803017719 305807022 791052124 831159002 341247755 624130078 196785360 247361655 399681213 702925079 282417770 599147211 979561513 579010016 180036100 671514949 764827084 788238846 213829293 196091605 879813424 263573280 994058160 435051169 242476243 687112715 686990110 715586253 335719775 578228652 375934969 432542314 398683525 145014743 610724811 769497123 232958714 732688051 854781775 998171571 206104133 305306901 400986567 168026773 897611616 451071202 813214344 403501077 560501630 242397071 819328039 680946791 223227685 451321784 246712557 281301634 628134615 102212044 255593912 532553155 520318084 927289147 492146961 985548355 871626613 129388136 700458784 836377218 645146735 186751578 398468150 334639133 182637754 106872057 141531183 809531655 575674333 927094163 754120594 529056276 858184854 832650483 928575422 984169910 756043879 192821601 608647024 662010766 360241045 639896348 590895533 529349896 613230675 644047528 788351158 851121389 985899960 575856266 408940525 977939773 509641516 300165724 157657766 446874500 945274066 669283134 574327998 621690109 351696430 683815612 970373293 221602321 100967019 331331312 109100880 471909413 168278377 128521737 638757783 898055897 974364452 131407891 889428505 212158461 523419678 548952475 785612487 974946874 207352860 183712606 783448000 740561077 464068178 230798299 647206180 610679213 379428429 320685100 616791317 553526504 689888805 237358113 907592605 414436302 578898282 153513753 469803071 575791931 572131749 254954420 290178015 232111195 882615202 797127324 684094141 289638752 715778999 699035349 593826330 574865031 586540330 356215956 874426536 807593320 551721564 162041547 861055421 416760990 985289860 127348627 339943280 334932056 188103321 506245022 614181885 280741466 843309632 509749085 733386005 492921612 254779552 117140656 206435125 956772120 556337428 155459536 880689998 524621769 898043656 908675348 454742209 497731742 998823574 839065894 185905516 104858265 654787307 155417645 116552366 302800563 958247867 951570220 619326945 156942987 262199346 303561511 582085905 344440236 589288110 842275662 264434305 129092662 150764735 263685648 818486624 312985414 352768199 580496619 917321726 299374432 887415891 639217736 448430993 912109679 703218916 337697223 178871702 150207281 610938282 365829449 593859375 540403941 268368632 592293556 351192201 921015863 702644606 215417040 846059383 843904373 952621434 156797476 377527207 442603173 929989960 370206315 186997494 139130122 896904107 958575784 127297631 413412873 797501937 945351429 376642310 807391712 669678335 280192734 719784566 314823703 391024330 513947430 867829559 885820180 198182499 394162438 855359973 458087515 916996032 755976063 361655012 768797261 541020913 612950879 819193702 436314842 839564346 855268115 475038256 235421173 531045795 733122389 197814299 474756516 587462321 922841531 704151314 817514024 512425448 138884125 935900719 356859014 155303631 586711697 576510605 733144588 976040041 936989318 862691773 471991949 218697718 733100562 428829820 295067720 805553126 575110908 137621601 202569867 269287282 264653962 359617700 167147643 761784977 548864248 344817927 710084986 375736189 140158202 617678787 405707626 142748993 140083670 654826895 101762975 152787792 157390993 895282571 520845187 552259865 970797509 776866508 456242074 785009303 687833739 175414793 190393474 666004404 252082032 439421712 796699228 967505902 796640230 495141257 346175314 669215241 245898680 969788586 893321491 460475259 473865582 597883054 302583361 825224161 367133696 481177770 630176537 123970158 617106694 685158801 923747685 103014662 867683074 565779682 226932300 312154348 660868272 238458708 813596610 704821028 835461381 515998739 140098511 919041986 574997696 637386828 552037574 666739003 336381262 746568338 333558546 962738167 931288307 539498313 574959571 244501138 119362266 859435756 695868609 304100541 958837122 565820669 612643535 928233865 561064023 637969432 266307832 730609364 802183154 188785165 882757735 137840149 773455375 837445782 211489357 645502427 545551190 832852941 202923672 987016123 202522513 656113298 490920928 993842808 939780329 188446985 488007572 568837344 835236069 673394682 409699334 428191720 560094350 546065846 696674066 623669421 746865709 613158660 591721948 197382521 799483850 664287516 475080334 508157925 120134103 841308593 724859160 673966444 106263844 828839007 896972513 299508340 646211757 675599946 392032615 296183008 280659406 758524732 636849516 314607772 907977941 198604767 661109667 533944775 992164127 968126686 237195262 429951271 541698300 290893846 903789112 574549180 703009314 775834960 104344108 650724665 216558860 881213128 380810247 276355151 558330812 651525499 375850512 227449869 472542415 453887749 938846182 588548670 103612043 861102412 252518345 220628888 580801690 452215455 554789418 782203113 595749117 752113559 822735832 346538805 625129574 285032499 675921982 681618333 241152219 846049079 836593691 735060156 659441112 342317877 847154615 630431040 538641205 353660860 675761414 221577351 906961423 809964660 567547393 902259129 216912984 888483496 676571835 206910026 784938661 846146613 530165982 134364848 521230804 301174633 363834221 654787073 435092204 305578727 514550790 468586533 968528157 671018619 575379213 546050002 436149938 354640391 211088820 892118318 699964991 448827196 534461795 227122763 833051259 250949596 188406567 602422826 886283134 355250831 745719158 812922595 811288393 928445340 386527062 784803621 712898247 280065100 101745742 118379506 892680741 865252636 145107537 877643527 237027716 155523213 846046207 395738459 149556519 674483210 994291453 460332542 936004547 982810830 940270022 403663480 900340169 306315287 187699365 895076973 237075835 332023203 595528114 638875672 698467499 321708444 672241093 864647068 871995847 237683274 834301565 620289692 970117159 491971040 129606022 461592613 322929130 766306767 530577030 698266344 987167470 621344543 535643676 758640145 890674737 658905645 949972907 369983489 264838719 953201656 979524926 837556080 620660340 164293583 188067881 488668512 714076858 500117106 685442648 388192699 261908659 230307458 524166949 819022792 835229789 526831344 760036432 655172803 907289540 640513619 486006659 860707310 436253307 697327676 981988879 372546829 943995863 345338327 986305017 830957019 447625997 150189768 163634826 863007938 392924446 642617208 246261385 182871254 825374166 787525622 995449969 100778201 683653264 866164236 298433633 579441533 169441172 321943020 658469556 173797236 272412489 514524614 971476889 127460101 551080432 822948584 113869405 583485045 643882262 595987886 944165889 477043312 777664354 113113856 101589053 131572202 942674489 457925969 822139127 641212863 762688489 278310544 183362643 264455395 366691189 991058689 679287092 998739319 223138136 544170428 715817815 451503115 731086383 933218993 746171889 465226396 932361742 792500530 166455028 297239518 966422820 920481598 385444323 423137031 358172832 159626921 316847474 927731978 607744617 261579024 675482352 990080229 941245630 871890951 520462947 623236866 508741918 810910498 211516977 419413574 323522178 704363113 717130457 544695395 867243290 159782693 193617892 576004248 769674462 884348737 725110858 425130467 504653388 659270748 533967619 167451961 969906475 112930808 253926317 242038055 277784360 418398988 539699191 225324177 378462573 983484733 859589501 346507399 600722216 694760482 925381490 397878215 740493839 209568966 370638560 532966394 117902173 243882848 412208357 221978201 953484703 209682888 224992416 520226354 461788056 901021797 316445967 436507193 882097896 321904506 408658474 644122683 820882209 231842983 764413154 897250048 545242874 383312170 887926173 488134829 892548401 519438380 218374544 306645340 258071576 755411555 559837796 317357892 487838429 865978814 372177077 742442375 875679599 152658647 314416451 144254701 189215596 505264703 779930211 597890722 588310524 893927412 728437370 908991942 960740740 491557235 274028359 159805469 843735663 689876412 921130259 820919135 108736490 618689493 597133576 626521848 223553992 783784881 811270576 906055174 230800874 121043679 743253669 812340147 970308226 162964638 680068446 856043295 836714550 867178804 920313135 202590597 927418163 859198930 348712529 690765754 645939560 307887303 647825184 959123758 221401224 726642859 537891904 861577387 718510947 397197323 282092069 592184157 816283684 872476189 513658043 104539935 449809397 582180414 417887622 230947203 868370458 787001617 763078196 491250924 550115937 221213367 620366950 838746440 624518368 879501270 130086428 449795985 870924904 703247154 460772346 757099248 274759272 402876546 822111183 802537817 238584885 206874613 794753793 261588955 278956823 444390379 764348827 353235437 844622888 425053937 506052507 255597093 435803375 749657798 928418640 743497694 153715453 511632423 834430108 228336801 249141824 129994851 721076675 525203886 151031523 892749496 609742650 249400715 237088427 714136005 919966036 712487461 477656390 933344753 725115518 982028160 541020573 672342996 369899589 713352933 805524275 849344229 790944468 789538544 222888014 390870137 781330833 800980084 582438905 747010778 700455517 365006831 603460955 185472586 835923414 969785432 699757298 176301092 555051311 352615190 525190676 624313198 490952206 851444079 108643064 496670131 566236483 625413771 578699019 466152953 259949850 844072254 755683689 256958814 823437030 273497984 942946330 962148383 606553956 688918977 174669218 869953123 540244369 108001125 321487193 929696509 864746232 165564942 797926683 820058813 962595549 485408390 667801409 180022953 957640285 870200733 317008499 192090273 954496722 643918015 291095357 313113377 528036762 694246677 395342646 202579057 816561367 399049810 442228186 517016252 383547733 261983411 690516312 808835537 226127926 804167029 588024236 620695493 690787511 278803825 154664646 707814388 900824760 680904150 492687614 624041713 507491616 593622066 430357472 784514925 391446080 272684258 329572683 704619774 478897033 240048073 265133774 886621364 373987509 741266303 169745459 890059680 603213924 690453598 185616339 928973147 971862161 643482546 127351003 434227788 977683978 249664422 979314631 484466981 925896310 829063078 628270347 516353688 948751124 283989566 384238223 736918576 519640906 334314342 717670654 475061471 244467557 997528844 472789184 274384674 625691495 369432865 889798380 806395756 342507669 495760347 699554703 134383940 508271884 572518754 230660912 953516038 142995070 613469687 618352006 865522262 752656431 534805253 741498910 562238842 110783317 651085407 733463550 602455868 924389670 937273023 704923589 918034976 647011702 541715618 982072629 353333811 883878316 680424175 164153242 185158285 215185380 700593399 302977233 925469043 326850172 474405026 601406693 191753255 550856596 581404681 851362518 993008073 752239112 731295704 203041800 657756358 658079430 997685065 442771858 476916594 261163916 275370019 854203200 506584479 496568489 152543428 782504064 583268945 894196088 742370190 859984939 264791091 678613200 378336420 220039603 308186917 703074550 310586334 111356516 945783164 548279287 268809811 403895256 701957316 917188570 640444780 704680649 746172142 862675361 533149346 248924230 316830365 485539295 786252200 473028170 671054896 932368657 448598636 375160460 999352217 947844518 379983408 376999641 323632545 605848276 810962562 405786818 495171282 217121059 369012828 733595201 341491517 967141645 129762226 502353714 890972858 879637859 495056497 537221621 533550811 429426793 302239487 441228002 915882610 634585899 128377102 109869232 632152316 355163402 538911539 653668337 627774475 685117009 275962352 255726733 333126933 948255910 262529930 598072649 195079263 319819807 365186578 797754619 637885586 140707056 162062235 279537854 965924555 111310906 722591093 461769245 480484215 762191872 863031330 300847976 923844957 462568234 542636468 143196235 471386643 749235845 530333201 133819049 248448168 954804359 315608264 322117307 744283090 699803610 544764878 311239805 743977614 779358298 856602096 758692754 750353796 857146288 758913688 727157477 983349763 950187152 880931590 703561664 424994327 611614829 720036892 715356392 538915085 449876786 334335046 952170778 480055897 930276785 310726866 497708348 231253810 887468555 968923482 718721446 118000414 157023212 889454410 116656238 665597680 916215000 639586085 868024791 155570937 894705536 206123165 888554365 841445591 374990631 956418765 595703241 140612196 814144281 588123484 318869870 962602309 307706013 351491637 624344213 987049505 120477766 300536103 583439398 172743605 351814612 667702580 162805454 159199566 758069331 408171040 772073155 830262854 582436618 340852619 228053447 201937872 643031815 841567581 870604573 678901267 662777108 805476139 313710368 554974363 348779197 462865098 999288481 782827728 418384725 423801715 812355228 871777912 476625408 926260195 270349730 462234761 247269479 538406726 369043114 321635539 121348083 587550552 878577173 341132802 195745939 385249704 531102966 172224217 304215120 795032734 523997471 320900789 342189252 243305761 873877638 361781704 855130637 730204785 749124849 366039625 495109096 673135574 250967027 928030560 798145234 881738310 918315115 265054679 974725768 232059080 711463067 977229883 433899059 399415996 932357366 591928364 191377360 208647844 532477207 723101243 654447537 649959096 952383525 428354436 226983294 281683055 104676628 248735035 657970620 892991572 288766563 158066771 397037438 329194138 168021640 344708396 284289186 148920116 897966116 898250797 349700386 231030392 648517754 548801834 269344824 540623597 421991141 715945969 461943682 399320508 722744411 197008575 178393007 823990927 283790468 171065808 249081316 678493990 119886475 233831777 790775458 824457317 159567801 760409462 773198862 308608296 103755300 498398207 317742149 356395437 893138990 876705452 977285256 358077336 541216316 913903276 363552443 515268695 104648600 438023590 166632282 849991295 575881156 404326443 799070802 323411162 518552864 844766244 993721915 299114086 822189756 175548403 821377696 769141185 312886356 383797591 115893487 904704940 238851728 578296432 174514231 781613418 258633466 300812504 607945292 797499997 365373605 594156838 643474130 423755670 261115894 987500476 268793716 320547799 397496632 729007124 357170255 709695470 923514135 298915414 710380810 327263309 123598291 673459252 764717792 635525116 850946810 143033133 288355289 189392149 798686818 186471237 740121227 934548297 988160916 828581469 801677472 878091444 437530306 807139759 740315925 561681400 540977603 734259254 255929542 688886211 466042537 913501699 783196766 622925157 689295297 895621432 480872281 677537878 813748016 452429706 797228084 582685893 788336335 900133400 944824712 738603092 243675780 831863844 380318294 252984504 946112863 705953488 915906431 250203398 709349304 918492174 890936604 401539419 346733280 401336263 459904602 827620244 264736667 118648229 543835761 390603748 129978608 116484886 211663464 344570615 722210455 389224278 137764194 860503180 371911311 680130079 120981688 155137770 385584101 921588245 484444809 251679702 833607798 427637494 679359542 276483035 324557784 530653946 948261845 893559605 434788524 299761093 688901627 944411428 198712331 994226623 252458999 585572625 456200654 582836672 730647510 180361223 331732584 655989225 970197690 720372072 151632309 144758148 691624914 273150350 464355950 508812434 927195695 573458577 408991714 247322774 125328951 689434555 742813623 894639242 219114653 768269397 475511037 988462155 584065033 476153842 504156088 859803367 377128238 379018907 234125428 711706552 521343574 205829986 697155285 410429110 396384794 364750312 194235436 932692223 734738756 994985978 898074706 711599350 763119088 877911308 274841475 265580040 418251429 346200787 410166218 814320369 414963257 209138089 240326135 983970102 753833214 235162847 471592927 319477707 475915671 457303705 606308982 958192671 965413246 278808867 300117424 272617025 608781357 830329618 283537345 930203606 198888546 906836585 565649797 783197136 967153767 986252098 175956836 550588301 738123219 335725621 881021520 779059420 848664137 539967863 463674165 955524930 756095277 488888432 293007492 208600487 853754782 527674770 127687654 100900142 358209595 619967101 847017761 322204712 565920097 288358875 841893800 122941961 134713558 621436147 823028174 463930333 641470424 146056657 858822587 279117530 885369657 716059801 233969300 957577301 526674150 371171971 402941616 695620802 228693186 417094575 744840157 363952183 998487022 322274805 472547159 628501872 186594633 246299561 140817993 639078605 854511252 613443574 855640797 100341421 924715649 925913589 113045534 156872259 324188827 876846969 227060706 994485363 886970255 851791663 183233877 692225053 128317754 389920292 567944096 964813484 623906442 291123704 351785761 604964466 743947923 885302685 582953914 705772539 763892955 435035834 512332272 362264504 125384385 256804099 931432699 746560864 972112883 335279687 959129281 985118312 966471734 159266074 345361161 106829191 125388792 302505743 615457943 151344036 793038473 202487875 800162551 887401284 501724402 632977420 453865841 143433676 268030305 144070987 829881359 219438859 827014304 609456525 308652901 362403891 438966392 827418773 802001401 296042830 941896156 826761252 156121983 549283726 178749200 475979537 717065747 141723680 238086299 514470248 564721763 565422937 689528651 246532176 329390641 862860263 831380201 842352500 705528383 468195707 388721156 186828031 604380142 618323796 566823409 556682222 529123155 931581091 902370990 197479251 603351540 982989577 411699338 498293296 909827088 613493242 203982347 302052789 598990027 251344009 704942294 871489016 275693113 668566799 263822314 164463578 710331599 148427896 123781671 908326910 789216991 251009323 424558185 363285432 408873251 803665470 349699851 982844664 242856169 441904013 854788995 133134419 221983887 343418927 618614836 609088487 741727955 986839845 627832988 200109318 585142952 480559191 954801327 294376210 157689915 422687268 706945024 318000822 412573210 566231806 253203529 613609945 185000621 653739562 374366032 781844735 244872880 969710261 274174515 961897680 440155280 914374758 159211382 853825688 690364662 910383599 166725587 785801382 733117381 836915653 594566737 583166789 850265148 274165675 135041575 897190394 280404116 322540099 602934679 792563507 407206988 820752988 269183197 114031136 390001186 194982960 670778748 198856995 173253589 631638366 899146182 816400792 824896808 931350252 831257205 490572109 522082653 164497406 400608687 686682027 395413406 667440514 581167960 745096249 673083972 106925980 951448989 799152320 106630919 717914546 615519139 413030074 950944717 947840229 576327299 730347293 806951560 925153346 539019439 861592686 272499145 365331178 446638075 137236971 676365211 623265498 870055250 819693241 623619216 404295817 140408613 769434747 160032101 249169213 772532321 381572566 520562367 604797360 288185027 747129948 789572063 940802560 388088129 371337629 661147684 899976227 350890796 118114882 851656408 622998538 896166026 218834670 303658996 144636025 296265407 560089762 667248310 150449069 564940282 280006871 687664340 808828427 658472203 743726940 866456528 536301832 934855495 991440449 370328190 841221367 596507999 463610921 586160450 640031274 218304596 848852027 478232999 639106497 533725381 662152101 191949344 287641001 259154904 640962753 563911803 421844108 326773688 759648094 656871249 959999502 656979840 622475726 201333827 681653407 751175364 275102551 184306626 497041562 514786700 786119559 893819997 478932249 399193780 924242600 106314526 609912110 184065885 803257126 514713555 680019798 476705467 757679221 562841488 150264729 399478558 870082097 695713218 155616058 472899622 101646099 721158493 495518849 570107787 899863974 600426254 366888429 381908478 207222551 892545323 227250546 103954554 170767647 341863393 288655545 480459705 991809482 262694437 153212777 125148651 949083825 704462444 695243303 308234842 471829902 612889017 813451128 822849703 102124290 340010027 234099232 893275528 527728740 392087391 795076476 988098644 677225327 793087676 108752117 578416062 427418109 222028648 827127791 195104421 157892646 909587349 248753446 569051898 373669835 685830505 876057313 168721143 589921114 161790908 247531891 448174361 703834976 865084994 622909002 395703496 976134367 951146867 510640492 697443375 810622972 138326655 146309046 506657686 132450684 978767568 874549047 478536685 683548954 144427860 957127536 338038746 425353109 306553017 272786252 759191141 742536352 890978362 965269984 284998849 216044095 984969481 549020043 591578075 811332223 834510562 248696130 452680249 197836105 891966048 228804854 581562106 989402521 230302366 805241384 604636344 559345851 443688125 305348337 139985730 447178864 370211421 370069016 711301420 186532665 440975158 475031838 262638226 381469674 807519832 260389969 185315046 658657231 892896912 211186941 592698436 414265151 114462383 610829147 773903617 387831652 873151591 374388964 543454897 288604360 915454335 502638765 830148700 787206941 107618779 640448548 551493093 774248515 219714475 775218891 521932595 644033975 611982646 869053417 477311886 692315442 925337830 698441328 895152759 380588286 942893710 263674641 685475913 540220541 251841310 213586714 766196700 575319968 516508774 572898509 226425669 831361804 484028344 166657932 176470196 857908827 637198135 776264961 589182372 914371063 321148261 596290784 330611489 498258127 729894578 255628035 163791455 306571927 589714512 590630990 666587206 769690191 413114338 184471736 999319841 141147153 434382885 226928102 268932469 173039386 927680402 773758798 685835999 459346702 811381751 178423408 318176449 788119905 833042214 660526160 594757799 697117432 555303483 932495854 634733682 584852772 764289471 573642270 799186078 882935937 566634452 639200660 910230364 146534463 839368525 245895917 613347100 529354093 433194740 449512706 383343391 190013830 870218002 880742947 425610723 323394020 224978271 733837107 776527641 670827846 705836590 506970003 449259742 215699466 319433834 770799062 521095142 639799013 320090054 669092451 103238222 208930751 884279221 379998918 878580225 657463670 781986440 861831996 334556317 440349623 577543996 449784899 557891612 334735395 303096558 659766609 281437505 929056475 497846402 843345963 850225230 928215180 622357227 414775804 615673284 369063901 292915923 629870767 576887588 509794632 359643201 256772006 706187942 494522389 106816589 241972477 110785294 321443453 183219734 351889071 181536564 515757922 865197555 104179410 310168193 523282124 121834953 940699297 467365294 514786001 835677612 136390899 637780153 435316733 805999930 188220957 205273326 399455409 173214739 667759181 803223914 766565002 485039989 836566911 637269756 424146693 830151840 902181383 576458419 300229642 293396155 282879606 534723505 990972040 858964353 349850984 403300950 219730405 405250384 897617885 604370319 238575791 338187142 388239355 377509230 835665401 270358078 530223340 864047647 463980593 579903891 228496979 821450239 429213089 635758319 366411015 663860549 541462732 273569605 544464545 602965468 313023177 587610022 699604377 581326313 665250721 165592220 676759651 841587069 360895395 759333319 519219129 439413326 755038696 460599770 152451807 264144425 402933062 436851059 647249209 685162108 196231511 740653383 759112950 482841181 665011634 411693536 385515557 921862145 320684997 171178709 550132792 840195721 192364814 253893361 955861857 284611593 514983802 375747775 659066996 356140639 978568806 117504984 425504678 140256514 926387076 242059839 800057907 439605227 231762206 609389392 717243170 281011824 506843362 564604708 948451374 939234057 402413967 530090490 566844253 802898095 995151284 757418235 784552463 405326362 121575914 309556986 407304553 379606282 728488007 383623845 296822287 323410632 889756606 147639337 283936869 828138996 911954309 531439168 549268483 987476228 835084706 194658183 330590763 460108008 526566566 836522686 560107523 514740676 557458622 783076884 637965131 923478027 209726611 642955335 979674404 373482644 497686708 180399281 282682637 538451919 159606077 381929760 663282593 589610190 506473698 283342534 686588301 718713831 621437159 308436177 560936693 865665187 541565537 769094527 993726280 239740202 578529555 574668163 320471067 289578309 101036888 669781189 104055597 179620497 760162757 861032709 907098822 741530153 626614562 988752387 197279998 139840942 623720799 662892464 690790217 673310758 829911269 690685798 414346527 725630311 370668223 600044620 265138679 918733257 421538421 878214389 877882577 428721568 982529088 891954456 726049131 191884883 338002188 576751345 851377959 927662149 926097571 768978844 607800022 326145358 831835513 799041410 997469807 249020194 488583939 901656863 316890266 934439524 334619029 769970237 357501274 753798929 680601574 669078772 826366405 396557985 783723308 161327491 769517798 186171214 659866971 239547646 961778019 664550463 246519572 172842864 955912591 548541710 575212981 649189052 311034024 732191702 418917391 165020560 570919730 432593651 412969629 556084377 424464810 771114599 306863872 127564490 624894111 357230383 493549763 118298543 280999451 443401358 978653494 398159431 748912039 189510762 911651112 162962886 577701118 942660558 556825697 448173306 486384567 358456008 679556798 240904025 656652905 769817911 523349961 945961838 427301671 939728488 903377407 395896563 378987588 703713160 366041933 974915026 438516398 154809080 978404736 704824461 990853049 385228855 704732298 834769116 594573455 186312609 938004128 720805927 915444690 354453495 287823803 333447688 173837721 387515866 919251822 353911317 504673232 586402568 595657768 998459301 592573135 517684045 711598209 218397518 615953406 123236267 614205722 415509337 476031190 262142862 569283862 833094286 684158057 128815474 803872948 740585699 210582627 864574684 771796251 429700933 198037673 838299164 781652379 129950609 286366378 559003294 573681533 516247747 745246795 251832159 253437260 304584541 158664984 918630324 334056757 458589727 404022609 656071904 503318953 922176027 497146825 831773817 658030406 648698268 571125516 779709940 405161905 580069291 277495604 950311977 897405055 667108163 457966863 853694371 507805694 318080012 421852112 752480378 321314193 370524560 790753231 394752116 780841533 786199471 985926871 666706603 932262910 555672453 849926297 558003570 695198493 241900637 681832350 585754246 899110498 272423167 398822195 594799155 143007268 376359995 351869696 777105066 691858742 163547016 480876616 358384183 448378955 100858041 945188323 307106944 372729588 981994909 621448611 854517259 155005013 657925932 228000842 434616247 413924570 706972061 655475016 131777577 824839546 644032554 263724671 758235153 397430290 939453937 243150990 881666106 611970577 166261097 144608256 187898633 574241019 463528020 712667465 721258645 216937563 343863616 956579685 202602090 212705651 252731654 138399458 700720697 963802308 420125096 896660136 708783960 984797846 873975843 763828716 858241979 106577198 885565400 142731547 562168110 759452530 115941936 412573664 831050913 958648614 421625584 444546950 143708590 536320077 239907565 824529218 683550262 360861242 423049761 621356329 464463209 192157815 810766573 253699481 512308670 982250570 445992969 631627759 493769170 713876111 592447864 878998287 500018283 432613134 670611904 759526132 181395107 950269080 939409179 239265516 210350298 450400771 238842057 741366688 142896401 234215984 436967251 773542636 338081152 275529991 180123707 632514352 569364831 901624444 859469678 900387407 516137214 182857956 345446604 680585464 974391422 292273721 335069768 125634245 376831697 470314319 728027922 351964441 554548882 941685625 922496604 493729264 258095159 688941079 888937608 204611737 938739076 468253685 523128931 140548142 392361893 126826482 787840036 807956063 520109337 739943995 781060329 161822313 175703524 635332814 871624207 668166614 146133025 449944722 366124771 918129137 333028671 749848572 539964808 403967467 293032554 780562178 625942262 154993154 306920057 114366595 488035959 357755477 243255957 120373669 357340869 624873388 210985689 933923202 546468170 907287217 460786441 211002641 523970027 149404366 820086100 850259725 355301330 987233123 206258150 208331295 248706607 294893265 427378514 630838108 132213877 309349037 945892184 452722143 201865025 267864200 325712852 321027621 505197825 114579156 640849078 643324149 433207262 300054608 669110692 629014653 811478874 779833244 126865135 387728128 596637508 149802788 323713757 760956059 577265084 733365598 967215987 906421657 366452757 726139381 883115138 857143828 549677182 113287532 268671872 670320583 355097962 327498183 804977542 236043149 351906819 457167283 918917514 640611591 494221594 925563674 728880577 498595653 765951269 638797136 825473615 193013028 664210718 182518328 982977832 494689246 792315513 951948971 541524567 213863058 369911994 467186180 474984152 846304724 553324063 230033642 328520566 971431146 611286190 215319494 122667549 146339564 353855122 988487585 246196705 442972458 195371961 409939832 465841954 401352472 157221684 851915017 321545905 646609624 184981262 890127424 329750258 613822763 338393293 423815448 169168993 316685965 545949676 309259175 388623792 593546192 386322751 375519229 874626543 782178724 499176813 754497954 141093875 415571028 394686129 146064245 162285430 910832250 656357905 369013707 320927639 215676387 610001236 841603304 367702641 233233229 326014663 338860848 254115873 629295927 728483501 357696582 238916779 889329660 806754648 561887381 675038080 563220283 602817187 587720102 628952321 379894861 622170092 367202046 843387855 839076240 240484880 545695007 760291594 546732443 441747180 250678723 411327046 763313779 486187365 981373224 620666007 527048047 488793148 648804774 991901227 106092032 570911788 707265030 246261722 264542054 716228340 607534335 972747937 560993750 592172926 696117862 760598795 769245477 683625564 888988344 819141339 635186383 819575398 326845185 370500769 557178462 827012526 969808291 271300972 106103696 563201351 381328732 655593497 957015973 454315933 794030529 576876902 322461414 761697045 125603146 205122728 644464413 955308035 889853221 267745949 315572280 658906784 190111573 250927704 292260033 252654276 661732592 597316639 715352075 700514181 389430704 377147883 892131525 601196950 911793335 473843641 355732387 276324043 369410853 298039874 491048719 130774204 922004005 877133517 694794182 602093064 454703518 237186492 784903057 567383730 729536116 701275588 673773893 175272254 754353714 155105836 890885669 313385887 323581825 767287222 680411961 634280897 613599677 767959860 127813168 613545896 676322338 684317423 365787555 581486353 774141074 944426705 910318976 794821248 518037560 623223572 332536810 697176461 127986452 754513130 820785977 962780003 288131802 669698242 581150106 534024758 442643442 518856630 269721133 936619335 130180348 672866393 494272475 765976310 940329916 164922365 983788069 115707966 255683265 221273482 714348497 293397999 443194992 570043330 653877097 821771622 920016126 560461291 818496732 259393286 743599316 127545476 277122603 858314450 681239995 889256249 624631904 368809964 794234783 408129244 931882845 859735083 195020995 630692965 144498580 851821996 523407617 961756189 596706728 873864364 220528785 292233854 103073918 342102736 237314196 347937014 167726657 349002975 759264952 249146417 950240189 142447963 997479675 818867526 356154984 779124520 523678214 533546577 784157213 305825965 501871463 700714055 283148199 186164358 201331925 571555168 477211756 989886043 226602901 489985002 909569720 952017007 559296938 400632197 301387131 810757701 744573430 216580186 589774868 755756073 190723234 156776323 806024931 980904585 401599617 533837407 445563031 181126976 537992700 955644505 459016180 369839713 687484024 374824322 805805099 237859663 530084274 235092679 577883638 300606617 427699091 279297091 830022853 953211154 686484867 822306423 524607316 596395621 773189415 476728389 846580194 125334051 966385811 518734366 266793470 218594250 888833487 639597104 694347720 421822757 548948809 371697399 279521757 670351919 960885472 976651214 443866982 126845946 566020518 538284926 592615772 700578480 739629234 140989442 593532657 213238345 579414469 651598065 169693310 766355098 285192612 808633514 372805500 909454922 174815960 367354980 289893001 101818919 162124691 612152621 795900232 189789993 806314322 953578381 736530952 973487588 376063789 421388573 775719801 297176809 348547475 339507963 437649614 369458321 635838776 227226396 630643898 993488157 172511064 339063132 480133484 475228336 806989196 854207890 558364816 572598183 511832585 959616637 703150602 792112242 620686833 259690174 847584467 735531972 441743194 230332746 519382022 347073535 802697525 349896800 875276567 385694030 342885107 132635224 178383761 621473088 918717318 724199757 133286407 696683336 156462399 391074539 769246427 365482740 173547125 491598164 172083460 209062094 561110410 236475244 913472703 227345792 164225535 206132506 266380118 857953970 607482719 534711527 103252703 320185307 558387823 560749598 992034726 441098412 452177751 165351122 679971340 544030425 817420053 870200561 212316588 338775000 946508051 858685773 556875419 553386666 986253349 375885161 387987739 916403474 797064258 307540924 564488777 656244760 964084554 581459684 352672173 310773909 502235301 995278731 512233508 353737637 479070945 612264286 651766140 939342873 516560984 722360655 549905728 845920193 480360007 632954824 599878929 324066702 866150898 784905388 185655559 277303076 143481645 973324036 768631346 411669244 138284864 462317892 690894082 622656871 696183952 797101348 815233172 692130537 132750968 981043535 531500100 924845516 351976536 809558948 853573941 965096649 380327875 846457529 714984040 579723714 122253496 643619161 785990941 222868564 454228306 429238525 105380299 889473729 310516099 446235445 598319123 594044587 274483627 623105586 504388234 635745933 903203865 923913908 240494305 433141437 521836502 454032097 809168363 932715661 547258377 273255139 543517619 455854737 346804536 172509738 146040203 717457025 307650012 724793021 835276578 987708744 196572992 377354760 752837054 928273819 715993051 219442805 888941981 135095211 893939146 865954565 736373150 251228902 661271735 728414187 461996330 613500483 205625806 814645986 525827419 738816282 953330333 132770306 900401896 714800908 902455563 343844385 165930428 185423229 820486200 977318571 875879105 687971381 226571604 628399811 157507125 986035180 848190664 627933649 104337799 419283829 454633292 152611077 468082930 923295324 680129555 536384718 423901723 728702454 794670637 331824953 637858929 915784736 365480915 394194766 560554623 544026007 991585647 647812648 511872922 472429679 243031928 685407578 706855331 475708918 476607023 133379741 655527209 271961740 238274115 745690237 188535378 736213272 347752433 307281653 984926607 674576420 232214458 780752208 295435203 144000798 826642828 674410315 835702133 461231180 907967843 167333182 944703057 412822823 834586583 620906625 733717343 825858561 263328256 686342315 368537041 934275105 371206544 130521563 227486929 652411500 115874602 955859440 337787398 388945860 244386188 569157390 784907803 361682760 103601937 154723142 604881236 493452520 961550917 115318453 897687461 705935681 446316246 356843739 942839480 680489566 127453022 485150027 367929327 243583393 291363305 912832259 556859291 828213465 230058458 175870212 783773486 108429877 978438961 473724908 114165132 668770715 161783173 553631533 208907005 950233495 555660378 151553057 590877539 103230796 997212559 853664497 398279260 618788999 166397040 364465465 963982833 573487603 682161168 447733426 391291795 894100092 951062710 186775469 947978570 741375998 669701121 460895999 144631708 254698292 345982946 627768104 555098567 377518186 322393362 807578278 737511280 821005085 956212835 228096967 316631150 943374640 511766377 126623568 108827803 192104343 528566190 254544978 117114694 462501662 540080091 597492671 750321334 936361521 303776385 211216138 511874863 282342989 803408181 934506071 562639020 749772283 382768792 305148985 160283042 731797182 849217023 679056373 610826856 645409438 274896004 668639109 618135447 896467946 824887652 825795517 408090204 649213192 588628773 457089533 758285880 132286664 305416368 981336819 201351273 125536668 212350917 867936129 731111383 931781402 580861130 682668382 277629388 960773359 376118968 956728022 898088023 889139746 515984216 392369359 298521285 422664612 432596106 783322930 107118240 340787972 996485692 627617607 583009859 725570051 324437013 787550488 657180539 632738665 255870871 544441545 617539047 572003807 712764721 295140114 120295059 298640666 405133512 771756548 177950050 922851143 115831218 793699694 246343631 686364282 279634047 254998986 397227001 952895265 919216879 459959192 369657940 401131744 928630082 598139313 966024929 813954928 428137994 660668015 610096854 946363996 491630426 592027830 319233247 583164347 440494289 584598229 547491299 713631181 961472323 299878923 884379163 758131951 955516507 341561189 783678729 405255572 744866069 301643473 716031001 890227211 328044767 255521896 595497753 861057709 842914666 787003484 670251009 423069571 613089754 977403284 780998193 641351059 778975374 677981104 270466680 182900564 197565536 658228140 900602875 205999825 283883077 848387516 407552380 477443452 395943701 551018302 972093647 729955767 224160750 639134396 416894590 481385143 860320153 157949736 559186034 969897675 678930472 137980083 107484508 675067874 797146637 230197650 950072174 180503701 506582129 663498580 567160391 425848226 808766900 861308057 195265944 181084605 401010188 549031423 150908263 332214019 595601540 674363153 136331485 226539963 286407030 390824360 593630459 266459256 277455183 510637426 158352839 902293690 475459849 826063034 576090089 133506980 683962961 777084915 667224912 770006530 256671966 338282340 838621990 821537627 312661669 679392532 341955179 254827654 775557631 940947345 672321850 523131459 255146375 565687931 785609452 118259852 947567937 182690768 126971662 253557648 479615733 291712960 365380255 917537916 479840533 717926769 354943558 273435947 945175300 229574184 630110111 657189797 486926015 603623976 932196877 432742361 683021019 459443527 827513676 422090181 799016519 475419666 559508830 149764168 740030418 952856651 634776353 784147058 880526360 236848020 304259256 984693387 342015386 512118212 340443349 260196906 818268644 519115940 754887804 842996419 897399678 197292114 944557374 477293874 141169484 164127651 972226698 532992593 714731567 312751161 362154684 725191870 680309786 582110665 359184677 375405384 207965661 128856030 977673073 479900559 741428534 506498473 602052503 968928053 946301655 761558595 102208270 196942961 829223226 271731775 622391696 259877395 999162576 927018588 599147973 418283366 478482395 540264770 522192057 656830304 411102514 604765450 359788962 191680185 108322655 354892316 733064221 458464865 510218732 639314267 865650711 864507590 635338496 705598816 533357736 173494412 354357113 529092175 886239637 429621503 450069927 874878847 751847416 575670419 193018563 629853141 565976896 850235258 994874435 847277098 447501123 344125791 581462642 257468674 143939110 311732626 440996220 118425895 105150758 725477202 845064088 486572358 984761208 521480457 404974915 842885813 540653387 827469945 168401977 338565029 685430320 894475788 884135118 512951955 449693928 912181753 762147579 955928501 917768475 559507896 601520221 356955452 675354141 167923897 693543261 941307464 637782941 303467256 953862849 843463811 774442103 885017688 915264385 234678688 176914839 907886466 339004917 134166360 461348323 259773278 124199832 339829825 562288733 377869310 369933241 956301456 501347869 582449408 894981081 402271895 874858027 207122825 184040805 766128011 398619444 475207692 728059020 875941145 445630500 124847686 993461911 344074342 331951384 134082854 840059448 568892206 614792652 313667708 810004928 949961460 672757977 117631070 847230572 770070959 116909845 664457188 212563084 496553708 369076078 121196885 838667976 753670041 300974091 718841947 874603158 761892314 536047363 379488310 152047417 427179099 977093339 821140967 137941453 999079254 895822124 716951324 460695534 567304777 815216729 597851057 719984306 124620294 601753998 114190972 361443146 882629777 243453774 164077056 331978571 630177423 214735176 792653447 945526160 353023303 651323139 595877297 312304733 649769846 839277583 408180736 586170057 885320088 712637676 967844543 821757578 841590799 900530463 405575076 188092159 875514550 279936728 946665395 184466298 865603892 215860489 376081696 381483186 833942151 213941167 333931182 605276172 444956922 485577833 402456403 231513721 714292617 235897358 819617436 164496982 916659845 913140789 881198581 464954874 544990632 850639025 556925915 147052085 649427354 969983721 389085444 568835919 339089707 292000669 202817535 183770609 566905677 806914384 606949824 153543364 479789768 884055303 799718410 175807092 514072797 102589100 174826242 578866008 469170006 579902979 694157498 936017108 252381784 522217127 791702091 767244421 309096773 910165170 531164082 253718300 612518738 523722104 899927651 306059756 549525479 178196830 880970106 637854664 196203451 422872248 912511364 192258650 688603800 587352288 168100268 266371499 279820651 647018922 434622072 195392551 902157192 626226664 742162723 193266081 365710787 188728825 521124448 267098906 279454102 255145437 164253424 983860318 515634111 894585412 281235118 512339510 712385739 918244468 564443530 708372159 272225255 280940676 626481911 223834869 224896264 837133521 169543139 120527814 992259907 531242654 747286927 296157571 565039006 331918512 553534279 376095437 706745835 956459302 322197973 363141412 233297788 135513983 179221294 994121342 809994282 310576926 323855152 139812872 565341968 548699940 367989139 357967306 251175117 869913073 774786806 315156729 778110711 448673440 431248924 768491709 898790976 286496126 213723152 210448966 730989770 921434435 435152692 973836389 791808037 509502850 410019436 293783082 609606128 151712797 502919463 882536295 738262124 516737102 205428354 587709501 329315360 968639247 602294052 599628615 417617651 922589485 422447857 858480102 737091230 580949391 983565698 201019329 878120763 782206530 747467523 125852174 696603604 133895136 656888641 639941134 233596064 123840143 240769782 745988613 720113303 191528512 165136605 628401379 535624900 752700980 495970867 820924656 645444065 246695503 420929924 964945482 666275359 520491072 950137108 633812784 821687657 201885555 173207476 719382450 571304061 403589993 483839019 124312347 366645951 230208387 627236165 764459170 141647116 323317727 868276722 575983042 699578250 980699835 562329434 607060425 185806658 127376137 297025848 970515755 975449310 282550166 403786110 537914956 981268422 975896464 793752660 756753799 826202603 547935471 808069808 758475711 246354199 783048738 960666767 190530355 305307913 513163612 638974063 535220160 593579741 555184510 117729176 197060673 965644595 977115012 482347622 839911918 307401832 475166715 661518119 723182828 924707077 194565905 135040387 494105150 165207233 470305285 371748417 313432427 706805349 274200397 336323644 942650206 114535717 626992680 674311577 770533487 577143287 617177838 975067406 888278053 396396200 114350477 758862516 551821523 582306296 755822492 935967837 378550208 384275199 933683222 612802233 719110041 662717631 397201680 500587175 810124178 128148208 146988827 437053523 314904736 587372230 317520014 829214414 179350709 798483189 753372359 142541240 670732262 560339426 357383983 545366586 751518647 660102978 397589793 862673530 736833214 440247813 942109652 892509802 722952272 841480661 610857700 180762942 515456887 860925920 854519722 893826830 818607927 687593122 531179475 692058488 279343217 677922508 440355528 331860995 904434944 308581629 589130009 665656843 859130490 893889547 639956534 858382941 544427223 971356753 841695079 460610597 305889398 280873807 895687737 805135063 903762180 362464436 107643140 219338743 466723899 670928578 818442003 691859965 863432272 947728912 292774519 884725942 202778626 601415312 834214096 364284267 398319331 233871183 306529932 387744032 366759766 996245697 322467801 860365481 550789298 693074170 314211521 381130391 193845934 311052543 823190856 982517739 303509722 589797988 751756420 399982989 379380975 204180017 512902362 407396844 874105444 335481699 790962896 452570459 742392687 814086874 610405698 936151400 530195191 165822249 668658469 489996445 198129222 430343700 238109170 256300530 183856034 679165217 970142606 175992149 350524449 541517482 657777108 453301890 268364897 922976612 531268854 451219629 271276542 471040832 210086454 485808776 996919769 232560851 577639561 879710198 495423989 700427201 136839794 706717004 715539234 281829775 593295589 367890823 675299374 564895487 151840375 758228158 209122171 647776891 401973651 873813858 971160613 119086493 352976643 292029000 462728759 566070755 141867870 880121871 801828566 325182860 109900568 940836311 882962260 198593581 387775502 226851660 837515713 454081359 883038929 972403034 843751728 839895196 878633437 521755916 650709554 731249977 789194563 188865492 999398587 587540540 490995442 378448463 771717066 787095646 509588017 932819362 960785015 840650170 833267501 154030949 134188226 989917154 938720094 936093615 212232799 900890816 959033307 248805900 876009094 378585096 959590406 807434821 311983347 369154288 176863936 859936878 351977999 279680124 979330292 720207132 985508289 766017073 452644454 377273114 653933916 492105471 406756060 757316080 730184062 908997922 990972778 348024062 923168418 636625440 848639770 851798648 922365297 726790142 266051133 165560681 817384330 647686394 929133492 927360502 507030076 964487056 318694772 648653601 895555006 914910424 966737618 318612699 372577207 121671890 653700583 863149524 218525649 553574445 490086465 561448068 687539893 632400978 776454955 252622403 462658688 111913815 121227432 298474642 568423715 875715542 380669366 223987987 866674155 391431855 748089287 653271209 872909110 107313885 295101064 772525759 547724205 314797301 848431663 520637055 577156584 839324700 475480026 881073518 184111520 989593028 458155513 458921066 631338160 883849907 231424434 899925703 309608432 376885606 398173076 722739390 511289505 649111314 239165346 298009375 167363514 362624035 828423907 313780292 260556658 966063874 748513739 208491622 272004784 505392055 139638088 240511207 833852612 921589351 534962646 590469130 662528480 832677239 687056177 820439406 103291509 173855020 547475998 825953827 750846432 363765080 135818575 162193604 597660528 268491073 681622959 175816427 834552200 424110383 197230990 334756462 994677619 413041339 823926059 637485907 547612902 703681731 330291770 898677302 817700102 765526201 500213297 757204590 816022386 534169310 471962871 950032638 554098920 472385771 160645716 214257128 109588233 397317665 652905723 531805611 551093510 295917325 959401601 639932695 246007341 988874480 752259623 979707946 882256488 385735538 258180640 105538662 378359477 971695494 396465544 988182130 163235222 195677019 308055877 189098853 859348491 211053239 891589822 942928234 894807689 181982120 160968452 223755318 352589423 212315055 549804933 688039399 779921029 768351151 384221785 611417975 214861472 286368406 732387982 327925678 107047751 234332335 834529299 673059763 537899165 130152325 967760026 396278053 706174275 430624503 894664834 957030775 636367252 391442835 530351218 707998316 319135116 474065825 228920459 306735377 941221147 864540613 575191559 886245623 400491067 688384423 288338885 680706227 363987509 102254590 540954156 363992003 262424620 517149804 316488207 300375099 706169375 701775744 623185335 992471878 795175532 152081864 737577036 662642745 390324551 912173249 474639850 400019920 227289265 270914669 694200903 135964195 911082159 453636585 314352108 437002419 427231360 559593061 223651043 742847497 709964791 710612282 173590441 750963206 883099230 917504753 494710011 427279392 457655434 215602308 712053982 681524583 288949870 549420150 994070509 673722264 229977824 739851710 447008905 887488170 160356918 974662851 313638685 828445430 742102110 746552607 889986452 114282394 587402920 945171643 863337149 747373608 116874330 887313288 158653133 441588435 293895225 805022437 446728767 889871698 249780709 791383746 782813357 512456754 348994841 423959364 270340696 669496545 599903707 717673083 824105964 296144506 536844776 727143525 803231035 893111868 987754452 298392064 993430737 451328879 920027246 377020043 165286892 459906183 129112044 360081100 373367392 982037900 946051779 457984678 686586567 504037859 415755585 917906182 141545261 205182217 947973275 189681306 769118891 961642205 372613439 300842492 888707437 398822061 169691094 977294128 442416433 589085010 435066869 487926866 154160278 986052720 161169827 505316205 145443849 511994902 624457767 882708026 239312053 796855174 171100944 295923231 794731632 596657913 127077809 231633320 661393803 792464237 934152458 243494284 169739634 495765383 452510079 660751522 758166877 748559075 473713700 292528566 301806728 264028253 742375081 864433080 858569372 839432731 107665824 306876545 326164841 680578168 175882175 267261666 929701636 157384372 106657365 687596008 106005244 699880184 266600040 279101833 686808188 532177251 607962473 489530116 528463921 911193202 368829630 797892329 654202561 142454986 659736279 912945777 426979823 718264908 379551839 615680144 269075031 186901753 887654851 627040992 511841212 999039596 808922284 438198649 772558883 662792818 246465472 575892702 493042901 602908424 267723378 396290765 157342512 666738892 190365016 844288397 293847622 681989326 514100984 288673193 850750406 405559842 881194987 747631219 544878402 527584360 591749992 398942144 461547746 177457666 130442419 707338502 476039960 260352321 697991089 676537888 711876670 925220360 161505891 163679341 111998733 482330592 897979220 612203811 716105543 889628444 173422464 984617143 918233167 835658022 324643949 549108606 267435195 269102273 346494221 832695582 438263429 250797734 987303553 634976295 831972113 387573636 121210377 364978734 195239324 142407890 212108258 916236825 393414228 888408680 202747409 405753137 220449382 237982135 663720068 152199710 530905476 355594838 858021550 640413964 874320527 174755120 224510792 292149138 508461145 379891852 247383754 544675263 360653769 987423619 390202783 172683787 560243693 781019693 529790952 147681974 756549645 392232291 756154758 304665383 536650701 877926433 726559855 601299132 701408192 664362175 551815693 670667708 783671955 408393352 920366282 737224593 673315626 980521383 815223958 284337963 401826396 481301585 722090481 315133420 765457877 441052415 524165108 201317746 297048216 283729537 833180075 267804363 967011641 511779409 453833347 579954441 178318846 666340112 893159590 467238747 281256520 515213133 364612256 825264763 467163515 141015907 926816269 710599420 439516146 649564155 834089504 462053331 749104729 331632616 401925029 527759770 258896892 632087087 959251775 117144925 231964909 624594348 279989294 920736300 415950831 753315539 911054891 560186127 854496071 404411414 129252204 392281491 861068834 926089730 441048749 140612983 338811241 144761164 534882364 971954209 592881569 797141332 557929879 497504275 762659200 112915292 971282159 327212698 818622021 624631361 228512695 724762524 961317929 847559401 305548701 870180488 896342081 782426985 305411469 199785746 792563863 180886008 656324860 629678106 650091032 671528224 502507249 507772443 643315994 163983224 662321720 221823563 318935681 375990371 895800604 382399153 350348044 769853596 831723187 598743248 963359773 657881411 818417587 173491572 700471004 100089939 670469061 997949148 584917172 557857553 461628951 600045465 282030845 527701625 438540253 681163755 751322274 381479627 663038224 752899266 513787287 556851154 421882496 539682627 477325883 243934405 278073798 471056001 177175630 336102015 104992561 736326666 913370406 533478627 535101671 162246557 402454852 924311236 783055646 853985667 939568368 625161289 805362253 508155584 393656610 440241386 725400859 717906575 959315454 286035851 604303970 658850122 905231666 518277420 778332645 201883863 227534374 545580934 608821144 473787087 223210788 477416962 387384279 142866118 873235067 840244571 571911456 478583830 721037799 939715513 683990465 652658749 749609130 280616130 592527813 637766217 203356370 136798631 382167079 365276583 169819496 474502272 424962523 755972003 966598395 202693933 610369011 940079938 166907493 156566256 442077479 239167875 606877462 632305536 669059142 371159847 153631950 198617046 383437669 406325748 375096459 430372366 673052578 996794800 938138330 794346657 204186237 144434407 536937229 313709801 241483838 942822001 760104028 162632389 306648744 443634659 431628476 751663795 303700805 900247896 350131630 723467975 226912851 579519186 372343053 412537588 137258356 379536736 453674557 527548088 630552517 500286941 452773757 873002130 312351766 361628462 197651734 704882885 816962174 725229245 796281026 639743456 741486469 564485687 504460109 869076722 844053118 812840644 310304952 317006737 175352062 350336072 779967334 868890821 582870397 412565090 273650474 802707092 263046863 175577986 959425660 693623341 524972593 149607646 441723714 546694805 552699440 809495819 961384243 737976549 754910772 378255133 811867833 900718847 580181820 980160853 957179921 936973679 754994660 795675807 871914690 520984811 245788551 923364408 804316205 636761261 665618116 769439263 276478382 695246929 633996951 484473119 605755327 423703316 653815914 986705359 896837947 740780542 989547092 752828368 910581845 603914409 845942494 981776674 119734779 301682158 905505248 754574103 198325815 630878690 291194609 980132120 472553366 213930551 869455499 219312420 128987190 185069726 886954895 316938274 867786173 745798956 819975023 307911846 259307881 659424881 854710474 119963022 677102553 893264918 782745096 468496826 140883214 565558551 448176632 659124036 726343152 611874484 362291332 236382373 927977980 926157983 468130768 655728017 950630364 226645435 850718980 698995501 839577624 604000817 697461769 857041915 536717152 470622139 661633902 849002422 680709310 716438942 541553835 666641672 391991218 479294814 309027844 424373586 593929487 762724600 628398317 208593827 711625988 766558665 255642800 893241499 923171964 163377838 441208971 732161365 978334733 599034362 393708754 325011999 253021289 864107383 667825669 449139055 452046422 454290561 110309823 124666573 773507826 784178884 930020837 356574921 591026880 454277007 345717866 554894745 619915696 751605159 702783924 668005062 554597076 585621166 552479938 866154424 848868494 870172824 502766151 194268998 730075189 169634421 498954545 398358361 220441692 888697466 335435994 528952575 938777581 351784866 240852551 523508626 714184175 510710687 141191495 534059633 754366133 814425985 303806353 138398543 667736326 186131835 676199475 961976340 773628361 728480518 296538650 982507573 557907182 738143563 488088662 696619206 717645392 510484650 879102978 390037029 299279853 639615019 298051967 498944952 734733538 396539665 338817606 896078750 928157103 516074964 159255815 752211224 129656130 417750850 634542639 503332542 947464694 736818952 615499990 953761386 638163378 256503672 304061438 145997425 469402409 576922064 887862870 257253034 131499540 855813396 718324049 165228484 808852344 827233496 261601767 200369416 651229365 551759000 444318357 240704766 855947836 653498061 794431130 383018387 981908427 550084738 813290701 181908409 264412467 789978215 256253944 671569663 916682392 448379005 355910110 320673194 524505719 797582114 370117323 701877635 388360764 240738225 830290589 194042072 768730023 368318510 787729784 816872315 182367878 126250975 764830683 652246544 356627283 302154369 365104222 546999422 241247021 708841908 989933112 639615916 620291326 571567706 826818602 143302932 112099471 974554316 559607186 808420296 290414135 553607319 946930078 228137541 543026693 899407645 391595459 979895032 602389597 668857031 924119934 335653115 241275184 822988710 210082715 770321159 819346958 936541485 134382562 922431233 756989185 441505935 552147827 900538200 591840625 841401269 717457834 607051512 870945862 512205566 598332934 391915634 472318080 685142897 337081429 934360496 985578701 729590771 807518239 292771839 515881453 164543720 811431851 308050587 460533401 854218730 662220147 233538892 368365569 451062785 231771866 104475673 389207980 958103156 201801398 122609028 563011035 373981318 704068041 937666775 384264332 349144894 169382620 941204258 703037796 462995582 893602633 624062962 483832625 691267951 512868487 476646678 628268782 105511490 370885356 922347622 895842261 497332821 685183031 240448835 181890845 740194244 767218815 649709568 479113773 514635832 662040237 361333006 425723891 535232417 512612670 884000341 401475854 950319005 880458773 244588374 954245034 113203465 435406656 242483170 961143404 932438667 798593829 503699343 573081274 251828239 351907207 229477837 318664618 244479153 726968698 321250691 499106973 754465820 283433755 886780700 903010113 814287627 431552148 291916601 598059770 879634763 692072159 387312520 209940556 690056698 998543254 994346944 700110203 233871514 886104881 390802660 248571816 883405672 354885736 625929017 889695129 863332172 557798538 683633308 536188731 644161730 581336497 509631525 531982866 186109868 779272607 748117900 988041676 364966987 810308525 739660759 785859238 282012796 895179132 837916109 919731217 197987529 726086115 237728087 666130707 626675477 459894578 990919345 663038520 850108455 748940424 303380912 936753524 284614224 571948727 292408474 934372912 109664625 858349930 855088640 984742701 922288015 372851209 486068637 562597337 901369696 123557572 878408274 490119778 721427291 348236996 407956715 150981446 654059539 553707826 469280788 968717613 650228406 390282763 700871610 493616679 115718279 405671277 610016774 735076276 667427328 582776602 417495605 122345123 510351778 147982752 480870754 634652209 872203793 952468458 265827332 851201048 473544220 298342484 835046632 822376945 813036016 254740494 330088759 794221866 523289417 146902438 749273363 922936593 418911148 934203150 935796909 559582609 571955124 972272984 992963502 261398365 914581436 921212281 603073856 504441323 680440634 974737263 731978731 704193988 349045874 895152510 674162559 308237389 226314917 929380351 591785536 548632292 544690602 914418317 254693107 145400356 368156552 485121586 269659051 456581654 540037668 845308145 633754998 179931392 974185781 998961387 432263546 927611618 948472882 932457284 565336241 590578654 504820332 665933702 742346449 497662478 782728814 842398056 169805496 304633765 810355905 702077272 735227886 101603190 736615774 437367959 337892246 795311420 789965303 770609333 855495018 929882851 343707512 547862119 409260471 444346944 899106903 872138813 250899509 962957922 697241942 466647467 726637643 460883399 855466070 443558361 100317342 302432456 431683126 404340641 329307450 912461425 695740150 904150537 610975248 932338484 423472139 920736334 496013415 853725286 714496106 121742904 651765000 817759748 847789710 144912963 244995776 445388333 793984670 987723532 807495316 189718096 727624333 224247042 834491796 548146113 725628157 856498295 546470417 866264579 812695011 969242996 621865613 443092435 712383878 142408469 711857436 373720609 191526905 733860927 435866292 346227665 757805058 461287812 448481953 851660818 864989368 747994049 611317341 841772105 544475303 468867553 211722914 636050252 278403999 450918480 522883692 947117208 201125930 278525198 110380432 284578815 214974623 934035450 481169854 518658807 767525300 257127128 466663873 585469154 871885157 115530130 839052977 242932675 593224090 795089347 180330640 805746545 960044354 358929679 105263821 909586378 952536469 207887279 522861888 430706430 822734639 162813134 720752259 185971453 230591503 211159598 175493152 115366636 894694779 835834471 580577885 578810654 881962034 974884833 327547450 795888125 958355457 198560358 169360330 247258026 672215574 511496184 664490711 273508892 176573323 906149150 102536670 548489860 362307234 166882327 491572258 893739274 280635922 259615760 552084532 620954333 323551236 262626963 158524883 325377050 252727191 535664168 879825935 714945503 938829155 426769014 170023865 748870356 704511275 300920593 794299768 967654131 957722921 289145072 625891733 639305172 567906295 778443306 965962735 279943826 557900396 558447949 178557494 418021903 618544834 134387603 685485726 724524056 719843765 401874704 275540279 402750598 328732289 149947393 212170689 399474975 564826222 910549932 518780416 833201673 526109065 104566231 915384947 445438404 834034555 860706577 467233373 134397786 971981584 660452879 979622182 494399049 613243428 950977160 285922499 448364644 704828080 241244487 571880054 181899273 422581030 885998634 121324445 125614422 204408401 727193694 586908660 307234165 182503510 304581043 225543652 857483367 297323969 197716449 682261169 201809720 775911865 142801454 548873985 685602745 660827303 776141061 220081281 349178368 635237239 846618644 921579894 828155341 766317239 628407220 174676199 705190360 462982487 271997458 212153939 585230569 196954825 852425506 649453215 149431627 556609474 927694531 367723777 431387460 625249829 415704563 478414929 907146942 744458106 554003136 639446199 472531965 131282659 784369567 622717439 850587808 428722684 622256739 666563194 869513734 705039400 790808985 333457402 499301985 672395249 591871293 330765631 985989862 904860877 287057753 827568944 980310027 700633709 598468106 831387070 404901326 499315991 729375502 722959698 810547565 726776338 521070444 706636646 800679096 347545392 273524025 270804619 659863718 819857890 565206819 505029855 674418827 178812791 537271644 351507574 201299996 439817396 105463545 172957858 874319154 783516315 886421322 504268612 364046896 389405358 300081188 329681712 554266264 132737057 413477396 157448544 287792858 936521639 798950933 947221819 188830641 770674829 999729397 477662738 364869071 556762614 158009754 440798480 340064796 288507402 775210744 231960161 301324390 742830725 615893166 747192851 753845386 744181490 817233630 784627259 956977982 900937093 481467401 234934751 956423650 792624574 943921910 203091772 551958229 372110479 204455340 121285447 181310390 894904066 137284047 219557567 955816918 618900515 755591526 700187462 971502333 706689504 335648785 471559527 259070840 369446200 989822593 363083570 852663141 836155002 958821414 644618675 788869888 293345660 797832923 292494104 377331192 696447186 537182129 572006850 475765925 604929335 622365363 710549252 613735172 733705377 974235816 585375678 103479290 535576151 622008791 838836174 137393690 101735246 253613753 868891753 736769934 360304682 649206355 669356445 797034485 805786949 580257574 454115020 294367441 354483094 938452432 962164702 126305680 112295470 648655969 783348654 882790805 200691074 786780167 606470210 422127941 856928112 593461230 147408335 582682219 609312311 271930643 450778885 584932227 143168377 372195830 478987414 583848437 254106534 672253912 282671939 678207625 209291733 148994353 892395698 777965657 552867997 317209771 969934484 616321690 187539192 459359289 825712210 807419677 667731308 764338808 257680170 779203515 565219307 432940557 640119626 257071862 118046328 163192865 404359131 602209552 535911311 597432981 456055116 817203754 327157321 792489159 615871274 588609595 408614291 808349582 566141696 795057954 491146892 793459825 708045803 617628097 409135245 809590312 624038919 591538677 657408214 387894689 195312936 328672630 962041139 233886251 851510082 990920091 154708608 947618873 826866321 461851417 212802905 732913319 873581540 467881716 953546141 250489237 642053387 587462357 370624668 597407830 818709201 121214596 426856695 262918582 109507289 535522594 794301428 134048479 640801066 139387838 390743524 297852286 378542512 866140456 580419469 497187846 377824328 208000843 185327118 854234785 521799173 280630347 595969313 412251661 393054237 209776773 180269689 972463815 628303252 326461180 888973517 221096261 977217115 326618809 280941084 509546990 175706468 864694436 374884860 455963429 601022359 896018990 667308380 266601914 922188383 823388334 994119910 641955230 465690686 875477648 852928059 475768221 343885798 714254348 459118065 128210296 356520465 623031924 588236314 772670378 611735619 669370128 917412569 667430762 924590865 872088153 783227622 134424497 761435941 393365057 642669325 187711120 863615584 549921880 839536377 949894441 364385446 503529024 716855133 987952800 699402761 247232960 735989762 799912266 310488697 217805258 711417440 420230565 489435867 298678424 816614100 424305777 851075977 940486295 271868699 950050567 509043275 345527163 668600516 389403433 830324573 682866425 793831416 522664624 769288497 360983443 830948608 549636361 903805819 863709054 769269630 428891464 618998560 284985494 156649830 236157992 318089076 341253687 924489529 823335054 755993493 266734707 776162861 506112836 560441771 696563233 211813294 201027073 323528764 417238166 267467349 742037233 807389225 487606013 637394894 358596104 249864960 861634022 700750689 112559739 827892822 794931597 482453495 426452744 621537149 202822121 896896520 124549913 365381279 804269270 696885005 518052538 797273504 632666359 346417834 149588247 509770553 867587459 171429496 328147202 814398495 997330473 178625028 635224086 744880766 934295752 668780030 165189790 384300022 539440185 795385406 131799056 338016516 844194768 662172661 301433415 871767375 609172270 962584565 602053940 290990997 267298285 571836496 131648112 261336592 655085883 714257270 810824790 501240553 913154858 418473056 678252188 385291882 167769009 708573697 328074689 301201901 664048690 505422350 502760654 191001571 815742449 958496174 575408002 871095594 131167481 610235337 175441672 410814906 256821422 663571874 943509931 679193395 940499809 782705581 355851028 265057328 524475210 617583063 197139493 652223021 855836796 504467349 738712244 217858011 560318620 500191375 216020455 630813662 160732476 183107837 636641148 471779148 548827812 951457709 897974308 511234176 761464890 569317636 521331204 647823202 345726912 201795836 783808342 391396045 826106981 434681482 753566425 988539723 300174894 456347119 759872419 642332270 307809171 586334413 244956679 525148506 981603759 399589103 591085864 786737387 352831783 655636485 187343316 446051284 566824204 294361468 600535347 290387142 771142804 873423198 945231097 619416523 229216945 831207118 431678385 293190447 527812045 677769285 462608111 293136101 263494184 776188881 193096759 848983296 690600293 840535277 812593701 637935710 810457390 810398015 419357323 290357811 816610807 612014567 229775356 140914419 425129757 137699128 736434031 447292159 848558655 817146131 396269340 693783999 764101623 567600821 210892443 752884200 797334606 144674152 273317110 414382763 274903120 431368168 867881850 690611671 244244124 521930811 264245636 602673704 379543040 688443042 372162333 881220278 843051508 876943917 655846826 689295555 311766023 957227927 288233891 577735868 324986018 518474239 108269003 630868882 462615234 693118432 536070748 137907366 299615353 469155984 104475864 824864344 345372074 202151769 867856250 885914810 443996306 216282370 637707758 909602682 520797221 223571228 736489110 323964141 279797885 497369046 919051636 239425772 902529053 997736077 887946863 440404300 377447800 607079739 111472591 895791790 578581964 353635872 950332989 489383667 230390625 688612610 600608735 693921363 230694170 620139639 696306352 222961638 472634420 583987083 491826943 447371809 171865620 383272105 904324699 602787619 340356730 423561834 890039711 545582493 174828638 289618331 253237815 267990467 918227706 334794545 101679958 603492944 941505545 888877884 758563130 562251833 712308621 510904799 233508635 731863653 286623634 238356256 744313409 887888205 912736699 330807966 591775143 493160125 755571928 681963415 719506111 812457348 719254345 956232695 335325869 783044600 359386080 822909721 765389810 312957048 600358443 799955668 741557846 650806351 379166484 687543563 563858461 997558604 324570225 933240146 751488635 419032759 124793274 125178011 781928286 219635457 359316020 193494906 691343894 762992928 547294916 825437209 410074622 768220753 938090272 894143543 181823833 932976259 559832369 471172008 252427025 607491160 139707127 903246947 173592271 315358766 200182068 347689054 575181976 292050097 885050168 301587682 445984410 350087429 226765434 532900044 800418709 824649799 443874264 510065884 143730732 743326901 106765205 392965507 836651442 244587166 498300656 870050485 481560055 315611519 319576133 378724193 414752078 342639280 832529759 396382261 437599263 762031442 961171737 193448145 966319943 902562428 177659656 384993614 294670070 264545915 333698537 388532272 720820338 413867710 987370033 408182468 501309511 331373139 696118833 875887967 925994561 404545303 895014875 492181006 563764619 426712411 853046635 651578206 127673553 941736121 900719315 297336192 169028015 484121608 681891021 822595032 629277555 373073204 611959012 719548418 968294845 205066520 346779814 298044088 103986914 306525160 118037735 637070729 779121587 578227595 446296231 174887717 358909864 354268228 602016002 131606813 678351170 137004475 464790164 170281841 171250305 420234445 504776410 309557219 892411144 232689574 821259780 602407841 482460522 228577841 704400202 793117386 252143547 822000630 535542781 885209285 734803515 905125711 166196381 114387879 901941368 383074001 360723908 731922312 804157380 439003232 874706295 204054753 927428091 558104887 536244376 325422597 863464131 399467670 833248705 539853400 456099358 928250196 185185237 524542292 396906324 971119090 270513411 554006705 819922500 261143282 992933531 824567099 924826298 479845324 495310048 801580837 210406852 140243957 554172202 856215912 610668856 246202529 426581630 911635878 269996657 513663090 749418509 351327679 918780428 826046457 919908549 411846632 212514953 662201906 661879653 736949918 537838031 306237267 702219935 472908143 616061389 832231510 694404186 581370209 743790999 454014778 464599573 213523049 285576660 411288167 499076310 485283420 935595590 342123694 330240768 468748176 177145858 466883981 689214734 827164605 568079470 833016042 634018108 447803645 553712209 710474413 928480804 601506233 533911747 373125694 837232883 842225945 272238541 355607514 696793675 853508123 581542111 612961781 529457883 926446993 292290379 999577752 514793189 182206318 236176597 751698168 632220103 179860335 217345954 602182857 636463230 276515308 701015876 390274801 651763747 451445110 961362566 713247507 257375962 267715151 293157992 840058948 133992395 118993747 762141557 848946491 988458831 554094537 593913268 935514000 329674116 138356977 326610949 526205640 531775229 848607905 376076214 407153347 476511440 961207485 744970897 678697863 827604182 987781859 324632162 121063943 930597301 798738995 222910421 457576775 645608236 920299176 990880081 385701102 403836537 431988701 113785599 535936315 280844267 469215080 863453873 490120735 947586435 932770336 636676495 627096401 983859014 376562691 170333876 186040024 507751939 832093687 939094945 382375439 981848747 175876578 307297603 425321176 286528883 621812733 971941790 450555178 221649436 883172119 751846441 325555966 494522020 375047536 173513723 933354775 407460667 692942100 379812206 780351008 155218743 689906206 935639975 800290768 665549550 705386120 342477691 327657371 324965578 555193996 234654448 215636934 405429201 489009533 562557385 448875162 750992364 915670429 102339237 205392078 739128569 163099654 202134311 378149765 891749966 478502823 830758262 143503434 568059933 910972185 309424404 258768381 429794162 622885490 333412162 794791923 333925552 684435104 303600121 538883281 746392783 676327306 218981939 797136121 382328386 627739299 515857326 901739053 687296770 470575387 757874568 365350799 939413388 892830645 360284411 200022267 565833644 671853900 252571135 167695598 525434780 953116764 866558385 123205034 195489627 396706866 829021568 307550370 268678195 752683606 356766781 422665618 894630709 233736427 111815099 103654256 249813502 507192303 454366631 935845832 778136906 651979750 623577899 271276207 517797659 708883581 508826570 439089531 389946376 157580816 741712848 264841621 594860829 132748313 731051722 421773718 344708305 215222726 869898639 456386367 739513663 807381611 453960430 400153242 408758087 629259741 212606836 117252314 668308483 880796903 607598177 315292951 253213247 762000219 891170377 314149136 878771814 467136686 174265927 696799427 380930847 650929909 322757058 419293087 108699097 258580395 969754714 230912354 348435386 952081965 708181007 137439357 439027510 217002930 314484839 479421497 916655583 479873807 737096601 379886494 130577362 896267461 214707077 858022994 753956696 692981587 311374140 446805279 889390277 951636332 124597823 115997113 430743768 316874762 498178733 163373442 876844401 304759007 693426866 503412182 350822429 902504383 925494956 789604379 950556107 501449496 592323596 692351963 276977490 577973869 187927275 939834214 329695292 500310650 266329196 877728785 528951368 713786599 398503639 704391997 717443147 344067037 789905072 148839500 205800964 235514226 992295687 334707858 460190700 110199522 620819310 550669338 589957973 221534382 200905472 690663779 468607895 342720973 259719273 673872252 976707690 353807603 865604059 695041644 334106012 537348381 123830820 423677325 190872127 265622014 608665379 266386873 246939533 563581864 860698572 543934492 136159519 194465231 911985174 490689299 753588020 943295931 411510808 459790514 241299064 331624061 914364331 885768420 911282978 610485485 481089476 698010034 432797620 698148984 706914249 284117848 515680595 108004507 402234565 212477426 812733102 737060486 618459458 975153157 530551643 747064069 944946103 574720010 869119590 518959777 179312831 647157452 822077991 259416711 349017942 134757145 129955850 758231877 453818737 823005347 101168940 168442758 249310773 578089394 196656300 790606136 879684932 357223547 836419729 665549560 462304656 896996829 569278189 183128804 798872837 349909425 574452971 289783219 228052627 692854180 312286446 511532989 984561540 380044859 842763365 508907612 947641849 557999724 991122586 418377972 579500818 464502671 890203543 514266738 577487394 160145507 136860024 750213257 359086757 549212607 690408032 630196143 793921725 546977021 558842018 860794349 223450895 674639884 971457271 450094156 886074606 690720246 194959512 181393867 844095963 355192986 972065539 823780191 304933265 339071866 140099705 729078449 760506282 341025005 319990812 542154251 199180471 397508555 388210527 800591452 499605765 779613998 957665052 281237191 697276945 512468762 295516431 588763884 307687977 931468624 766828988 438463978 893749191 803663948 395270556 632861039 773073348 770708918 734889304 802829245 574512861 351687829 483600307 634305631 921231261 131956878 787374295 338199477 234187463 938082630 644859502 224747641 788838636 765685550 879327697 634211050 337153649 585141792 217016379 327161331 543188213 982334663 881706208 260630799 384250107 853470666 174031503 362635895 785570599 307261663 379437258 416074508 164180063 463845126 745104585 296422850 888842119 869598520 675659966 487133929 491525925 505065423 629946490 348464865 390371342 614231846 816606000 148487253 123395225 658965831 177672140 500096748 916476336 610153425 268873101 196914720 621915831 848324602 725933102 807527786 168497624 670089451 165648329 883742303 127761153 220228491 897876534 974198031 404034438 697815878 645801917 130094274 322769821 233074319 731739583 805238674 800328911 137035673 167052943 358688338 234541591 942673107 140371356 832704746 683492235 466365885 231499571 536414237 682962024 805329372 226212670 728907220 755358310 496656677 490918998 925275378 477589988 289708808 412073240 926304742 959163648 729041174 797095285 599280375 576984402 328385848 805847250 535491788 382090012 705822931 213005915 994718720 962242407 506543786 681994352 221008706 724456461 472564617 566570081 681929644 200291651 229510620 512398419 289524242 169518725 344404473 744039097 490642501 180563081 914097503 248602984 990161511 288523768 659108444 670705545 867935886 163778538 834055474 219845068 187942009 146098914 239776017 344890095 969372027 276779233 443239364 986459243 389915748 747834795 712611076 802928417 788465920 890327524 527096923 603535460 810797249 325886156 367762513 648765674 710074536 766413337 542825538 256212215 514803402 698313987 974276407 829389212 967629977 210894617 615769483 231903397 927402399 176792841 299657349 500697558 673922673 795117764 217719446 188939021 335916555 572268654 564906799 196657620 165778445 136981018 162390717 879552441 523741576 222647663 548162097 930102400 931232462 819458660 164222002 476933595 745579761 613479753 789326189 567258400 837035374 637398356 683150289 544653798 813640669 404349361 826098726 976947045 301411037 141746674 747102903 355011097 245544908 331365389 566969454 343988633 869203829 779326013 646611893 959400167 951771266 297582677 696660396 618437491 689900009 619449623 930953409 880879112 684567021 342980373 332075672 598364383 405461012 370934969 864816680 420669687 995561138 895137602 733375442 115358814 278289727 652407709 147830136 879031621 991957406 165344708 700408813 689023850 834779561 464545635 107211824 481620790 629430553 584123709 243996637 522335720 954839418 277509389 560657134 186337359 302331353 762684799 728018785 918790090 542455814 783312338 168371393 151081486 457212835 730399705 799547271 979788007 560167531 445825672 625240257 417264413 846835761 850965084 286147950 460329399 527435482 346497336 522837063 851464449 242655766 634341339 548221630 402829490 138817801 624653441 942352956 266648590 669724612 446513317 243330994 586370805 505286648 141883071 278346717 471783507 130899745 967331512 129686926 203740886 822745112 946743621 607536575 375740977 295141137 994372730 520175186 656527011 404031502 389812452 983304189 802053865 976500509 946764898 377443045 819145943 269452173 539942279 163864052 967646966 845209669 320240161 670334323 103643738 359448920 609449821 905400417 146044156 894341720 505697754 115375894 959897821 949871238 343380462 395030054 342186874 463317128 647032958 448185563 108875572 171587052 373843386 343591266 581036413 768217495 486612940 736859546 725407059 646355911 518144083 159692766 397436637 397317178 606253426 484021574 803427156 965303143 959592658 251587904 520248261 961375688 531060096 873495592 621624581 336822079 291438371 983313153 436751412 493333529 727295502 926945228 720742884 912013358 584419564 641550183 797476317 417377088 318996038 685532470 351657783 504196559 175755718 269463580 579511846 856769386 440504691 360472118 263967047 151290291 365782736 877133469 920026011 798044855 260912082 194931543 498369422 299690830 227369078 707819959 749316126 418184545 850697766 438091504 384443950 869336581 492182178 699193330 847565835 814134988 490464974 459212973 915691691 384214190 629080226 115967700 293308984 769105710 181591097 253955848 715373332 650967521 225949362 599728848 305645878 870660558 882048758 607702356 428196365 136027657 303026436 721633609 408077119 371610419 757665927 625813635 759871339 187671493 809837414 288077998 967375884 629624206 242808928 256091737 789330382 537989766 541434708 733060384 888168098 879380485 932432897 681599902 244351708 880906831 795784970 829107358 490652081 961542058 266854757 546243632 818564387 794317049 476424180 659074183 404410438 158114040 107386663 457194420 850622903 434077846 981759171 798019134 221337416 767806903 472471991 897609593 244375037 776454977 253456263 216541124 683174374 197608478 476375802 257476428 561104421 503243726 124203331 421873809 618114571 387608379 592499313 735493496 493593754 759808738 537525641 389445643 487066846 153442874 685028024 275016512 639992796 949675934 328045523 828462993 606943152 977998048 363002288 263054411 371590597 629469298 401316184 415619459 788530045 267538786 880738562 148552961 780001633 150871113 562207225 758618497 699846225 666894087 959125710 841148739 342156113 482907659 433027907 734503635 114578429 468370308 386648795 453420751 512842461 533443864 477137628 227729881 861081593 210225437 210342590 234447876 494083371 833988426 542719413 318297884 585991271 456160824 503822114 796059741 203958001 638136344 382799627 603053594 218265264 586365137 874920390 401045579 955424810 718507939 584463806 228437681 271862398 982128351 970233864 299936475 327646328 806430395 527728824 111929041 136022403 169162724 270028172 515694855 810345693 692915102 929375468 710640560 401769692 905002410 964708108 975270243 365945452 126269348 200365685 938416582 727207516 544374184 765439554 429672535 663375035 909393240 964138876 535688394 693633995 433730202 518095058 708861667 702308124 733957136 476323400 372004284 687144118 479205449 182826819 787884979 760338309 697670793 738856333 300561161 448608999 857242403 177055615 171878885 871107232 996849873 601851890 987071201 330903475 824334864 953994959 873611659 222733287 779450651 890347993 660530519 460430569 175883193 508863069 572156126 230774706 139432246 912096468 656594187 457460410 836125872 272712664 177666040 724343714 797183979 847793623 526692436 304921748 451271309 582046669 226755500 380156365 118061333 996693702 772900156 322020378 717772496 813996702 986958225 624007507 259333555 631230411 250617737 207275765 553967741 887675520 437128084 335901613 855645818 393676746 791520834 312266200 695733166 265195294 602130758 854545815 763478027 866490982 815124826 333182292 695475981 810899338 148655065 621221402 780551409 248820442 500195504 673459201 823987638 564886035 154564865 532518136 713801412 970516364 548728755 408911940 497556933 576851165 211468948 291925328 596321051 969995703 425420199 127870904 735244260 461233113 225922194 115347495 919948916 312470654 871598508 630391870 521089656 230533698 740043897 305818810 396259831 107555158 890062088 183707632 152150229 827133181 576046771 237313940 730529645 238923331 990929986 761676790 818323766 573619189 840344518 366814512 795764835 329152278 814728154 104212348 219058681 146223262 398710127 730120465 665488884 266419276 177777451 970110553 500791140 377091218 689651114 167486281 421835878 358647281 285297192 788041676 655465874 158880704 246763309 355350094 621083322 437640127 370764738 665604426 286113195 241865124 853692246 195518261 883927104 911851639 716982922 440393253 882637920 884494709 694920152 227658594 124474378 277931545 532665478 503321477 746122993 781819296 954857187 761032980 626444188 704396507 129056503 431419845 973980537 195116964 846407042 700983726 418689397 127083808 589644356 875379505 898931318 117547885 835525229 354514434 576450558 629724245 313417725 603857500 964531207 353112310 916707326 413365078 449179475 307460955 574869592 749309987 716751524 571218413 790300090 561637412 669538467 407275068 467356079 601716963 553998112 211761232 291789934 375403280 652422830 899230948 198628367 480437459 439989654 369046880 180945491 289314637 738462054 769425418 259247052 559429677 937173272 103419132 703416958 237460625 219364682 661156651 501130682 143024794 306716493 434812361 679111031 481573489 806174462 257331168 397192650 472072706 459164338 722574616 108333408 149697661 801962635 817527359 696487694 303213859 953552762 810366266 122808619 850230789 706397964 463282349 843067661 757895952 593543693 768851255 670236104 381196684 884225801 983590145 847876295 122825776 945105592 766382790 920433217 916980456 302013481 533564406 362810330 425163050 652178225 489087938 968859487 331023413 802423152 797006595 867178324 228091825 463200750 234317664 464299728 242011781 953419578 849579189 693751820 227813803 402025122 662911592 694392177 703829735 412005037 470083649 817538562 574014987 301331910 485996165 514914307 153697807 843318670 973706896 121197231 144396001 101292157 374396990 468633648 196449837 762257116 884433911 883762951 744219541 702731912 730829189 918418041 633620785 565772546 157199113 842503343 228038202 778690745 523837687 352279913 216014576 858305964 367224022 165489081 560775762 464475027 323500833 783623991 851265035 672061938 571276539 664817775 880822398 953537296 579833339 308724127 585869111 695251314 502846395 924928092 515168219 695643471 159940938 595984705 372570887 855973828 569739563 786035842 290307334 296419241 462176389 789736127 406575729 923015540 355721077 829111361 170429965 516738205 793258753 905497546 461576475 262270663 870072802 704108780 398588366 396556038 908897058 247361122 428852474 937227109 711117213 401791074 292656438 918984984 843847412 548159229 300183989 712805030 623351078 832328075 685763832 638253959 161260326 119254416 589634109 432990955 588151341 365888510 842722070 488074827 169855334 218777606 875651244 466303104 157821294 835955052 990693321 444270526 989932477 556553156 527145527 581167438 843812427 463149182 521885958 344478772 292597770 846759570 566652693 448902598 691055431 580003391 169020396 945200160 203449198 928243392 850683543 339692219 163607683 182448256 112075553 757464167 530733559 171277657 130643275 354386748 265729688 469201660 769010552 293333000 866427014 264583427 962873481 541212566 798772784 626593115 907593990 438804847 218924119 678729665 232403620 790009245 826981909 522720346 576501307 974267497 982251055 192542062 314674000 359229651 380236420 874230026 858631833 916877005 167482181 983840321 699627444 737309577 910879991 775276877 638957837 829274533 611146031 770363655 456222312 485032572 385733918 954662950 564333994 155497321 700894234 993087302 893950951 495022914 510872663 919966629 468229842 685425869 965416563 684650635 725837169 469170742 924635675 715371351 985386217 726054460 106060817 961819080 607948789 295444102 114812233 977749266 241845970 715529328 704841727 614924116 294600579 933877785 351614266 566933829 457336974 918928647 342760454 765921627 519385640 151007155 270187309 765394982 664053779 393035796 831398109 529885257 715320800 396359197 846801505 358462688 853302990 738068672 102164299 872908463 681921239 301411197 242086597 939282646 246226882 425572719 754218142 855156427 143025339 789192326 910107500 911588109 572573710 211200752 851984308 261336068 701393350 817300563 380793800 549929408 792089543 257864411 498417664 136319037 767118708 733026910 293340742 161242178 510025642 287850695 733906539 368663750 550804944 244098859 391325865 189598116 783253245 890858074 307869855 790735433 510890615 629910031 934019674 356921321 316905486 347965221 553965298 957664088 679125438 938379792 952264671 652886944 640073262 502461156 545002032 925745813 779093021 924585574 362313719 863088277 433909673 909963955 694906682 458877837 226526977 465321096 637607709 320593081 697692858 707342356 669241727 952134389 935987209 408422852 784512262 500520962 146682101 916090410 500087502 177013282 998627281 363531686 542141509 942313675 817323655 585321124 533192279 499675858 296707078 510652288 929835009 526086404 424372508 301996025 992731923 495494298 140161398 410524768 542911738 281729338 869769519 825685550 375659743 427197451 185773893 875417998 840569623 334783188 414389529 852612975 530120424 212683696 210271957 698874903 904799686 845626280 433634308 890747815 174921745 323381253 462080903 420528903 486265215 974668602 856717960 254675700 939328631 329131609 282114515 894120189 196233591 140649374 764221186 962082706 852854476 735958090 420817504 784808693 599248337 595250209 930996991 199404475 610434414 171432371 863314462 818069684 599854392 380493694 582569960 944004383 991180675 448875409 429494620 717680945 965189393 901423790 463623282 778833255 131989347 194198769 311063719 568838908 752648855 726236517 395157036 307768460 978068084 951829474 713163106 637876428 974499537 143602791 998609560 566298542 737965239 334640711 305980413 314788375 922097090 936369800 215675472 504729198 128793362 757871040 392312249 492938769 756723495 628070813 502406727 686769813 884871322 346014918 305033891 573211673 576558494 928389832 411170314 532161357 644992583 446952859 843899978 715742940 467948216 120581470 378673661 470210461 775674983 894820095 364572744 474643430 393977697 362735733 239767167 221622529 916129477 696404497 910928223 631861837 859754971 994169722 990671849 873751683 863843394 793597022 139691094 632325015 942769302 182171673 150856202 273340599 469992530 117971797 222634842 125890154 995256793 829051110 208705833 390477117 713877267 214401557 508680848 805149404 446317020 405266140 457769575 673911006 375197894 709629681 905565277 405185350 875467779 153395837 441100606 124615327 677293968 365872678 918462419 169244529 139028766 841216476 925269648 905135678 684108196 807042700 712599089 352385313 235947858 576407804 611208784 875502135 148337504 951350261 303122873 584865103 570078378 547951377 619886668 617493402 194833828 887333520 101696790 271862381 185572256 401409641 984277736 504600886 616836337 643642077 926491852 544930065 581477406 304894493 429251921 340046231 971852182 512860320 479215180 222603807 574516465 904140381 538318210 370931422 698958766 293994188 501072930 361058981 316107800 594630203 387745417 567869330 222212942 608346408 743324907 438865367 816736947 444966442 153084707 253514041 160460260 504933733 573480569 930500398 426046507 413852275 906789467 754445985 102371198 676744138 997351232 407431998 223886771 521795894 776035551 120063050 112319341 847103177 877397077 339661346 417812466 832822212 890904508 125427962 363579704 688058534 533397592 453436585 554496318 642229364 111382533 619198892 226057221 656140724 895314870 181274315 298282344 674798722 222805022 550038380 212810826 889080017 932838194 536837231 812267605 272496329 506727447 991296566 349336631 770924598 913671336 878623279 460255758 110577211 876348666 493955075 724608687 435650249 480458992 386850630 858835405 265643750 763541835 382344967 206769109 628152405 914005440 676461360 838869813 890548289 622757528 243382661 126280528 687750203 191986947 448917850 838007913 660346860 847484392 681197886 743613398 163432240 138828575 468906482 189738427 829400845 735527353 440424504 402170570 163902267 158371596 647621458 238562094 573648963 876568410 580620917 441889799 945097289 124943393 639323012 710948135 694944516 660241937 281606240 246486383 685908375 585629676 155074063 925053516 388832776 300177085 244326302 146462300 468340011 757991009 473684975 399471672 987354904 853777029 113954078 508869084 113951582 940999820 686221414 889777113 702269138 851649832 749782209 627077716 663114112 876997808 390858490 597962424 167733055 875894232 932756499 126472082 603781868 179839519 156107186 440572754 318074607 546798902 930425272 801552831 619744173 202456259 449946005 782972780 472431844 327366497 205148188 277150617 201156354 152216150 797397137 470595718 151097382 398608948 280001918 178645317 377876487 303209409 990823009 745482125 851632547 819232292 173971932 245775850 181276541 950255932 440718112 496156500 979164566 486003507 755237317 742263786 564508941 122475171 203615589 613602431 209862084 950902641 508868194 401693811 752195445 704891207 157085697 330754824 131171546 870220670 576283539 581378306 576084415 306270217 795343218 993178470 447902539 656277263 765910102 896647249 335768270 280476395 654732783 553100202 463618769 534206267 388193460 763198857 404154203 746854405 680514292 999440245 203160583 350200123 586329508 765650842 164928350 538456782 477435261 183957009 871061824 164206697 105175248 804354753 210514487 969490660 245607523 316992312 231413520 607595621 242121330 131734084 826282087 637338337 246097600 564214964 491970423 309040266 319675312 331112700 831613005 533194378 620379690 796571141 577227153 291818818 558794497 907374840 109816893 815256548 504939464 153024659 209314665 823426417 928395156 792201958 757270342 139147866 873530421 172379572 271827267 655194305 385378017 301828853 882944150 446802325 184880873 676831402 864063431 565337271 318857654 496383419 722343296 832873976 168679223 824802281 941802062 230682230 449987614 533940731 710741712 987579122 212311051 601533414 904846856 404920853 960059874 240205009 218374093 789709520 775317256 284151124 114164153 739475384 733349018 818725835 301806032 204911841 463700085 542036784 348602141 934015608 687074962 186839664 363298189 800577933 921769804 520108035 433840119 713379658 462689327 664189007 623915434 231238578 436151693 768075170 546388912 271240708 122341963 856470461 626688854 801975160 733429248 771865596 147655559 646726591 782470191 567355102 403389874 606381243 879318401 970006823 314040358 885602351 825280508 151807045 948344176 352347467 924338768 579816944 226709544 248293136 373856023 187613008 784196440 568416208 547869060 972378580 550912386 754008718 821304819 838237450 537242182 830578225 437820305 148631615 616158030 307655384 190487417 766261932 844888990 217948895 451346038 261751339 359218475 748541473 517304366 789684296 856455414 490178362 668443381 117334876 278324995 287943038 328312912 856626714 156937130 700792132 120816656 373156210 343603243 120433541 997222623 897609850 406635664 218558879 396634079 537915086 900147589 953480664 307070090 825583577 734621202 236058318 768535760 453931741 288066974 839765267 748842163 673338750 343202297 972891534 678985021 206228921 233035537 223929161 921430828 278402790 541558847 914257079 854713962 275427596 342294101 131490010 243331926 823872337 416842807 918745953 862124086 681303790 873353492 496991028 538370657 544658993 677080722 726085422 891560385 146399704 184811700 972587675 133352430 323048944 420946593 408534007 441742372 116299613 858866529 929364056 730425781 582326241 522297075 296873814 300900577 462753965 439815300 865793666 932567457 925523223 140346215 932013408 920017364 632429304 917603819 309593050 217971830 992890968 226173260 434276384 795101303 984144974 162688089 784521197 759384880 443168072 608067495 947381174 419113914 198375388 465331441 188316841 941227068 894733482 774907711 790507317 130947678 144895020 529137695 773474532 646351680 752678246 953421177 203803508 638319950 117813211 714760244 236495426 401669824 736449029 302449334 331281361 734948133 560873057 964758884 189361530 729951861 993864019 698265611 944867743 686692020 545620409 984488222 525803439 135585512 352208746 436340540 548321640 977082345 936163770 413542299 407838879 899052416 688704270 749743195 918990273 835723981 851368751 684448981 231494731 627153585 411344352 681496279 257741938 459065252 745144336 672294628 432922540 225026821 460356763 619128208 231283190 725743252 794907045 416569685 546192731 665236811 918486193 550227282 650732233 827442456 265476660 703944509 333122891 431094546 323775880 143633589 529424617 589325769 780875122 956590956 775989723 462291089 851712060 239511077 350825350 615402028 604808831 262575197 228443376 259943539 651024510 152209177 660053482 840754691 772299340 975084680 614349607 880097157 824112411 147823035 799755789 186703919 405484389 696866642 642159374 209357154 486465976 735895474 600327454 305787420 135053078 133570053 981292649 143153215 851241314 207566476 943691832 127281487 710736286 654876940 425520215 626516556 866613657 968708921 777785913 139570628 136311182 890185961 107559863 771781448 913616842 810870645 206246204 145822620 115572810 127570848 848307056 632351504 787034063 792344703 795993773 210027144 809574674 823227864 711850533 548189823 237200894 998632375 678033775 912478523 938365581 522907769 941206905 725872602 717749528 991018554 227561230 369867167 157793003 962634215 675017886 842132640 758009890 521619662 910233702 596818883 234562218 820113592 207324283 115071156 773454146 181306334 282748097 458643393 493182285 871938738 227091922 792860597 450475595 566847211 802816849 138827131 449303126 989264656 418155046 427800508 695725737 525744761 404706076 383841388 747742425 179609031 435117982 707581351 438008026 605110984 917007976 833164572 864795658 481565955 248080099 526743886 454921596 402544722 331747537 287894608 465764631 995703172 639949194 282155771 300985494 509303754 325501437 202211225 997178760 280884909 849479382 956287401 553107074 277105613 900319342 235150516 267836099 296590994 847285681 877391231 528237009 394643339 788364129 637502644 130712309 559855345 752542238 929561695 787351060 247268492 519559565 891068672 508928781 519780102 216442778 290855081 297323206 607944168 455451392 984128093 391014660 697514405 793083394 387273549 839317338 959852024 349733711 486140949 155109008 548489338 218985079 755264046 997134508 328414147 921325170 122268491 897061690 628646618 505139145 839318080 231009215 649846499 748817712 865736422 251748230 141179101 190012154 796643882 129714377 321252953 550848995 836236442 117758755 309421380 100831160 940701169 433946995 830139368 724090911 719258806 897562117 552857434 624468532 766432243 640000503 509504408 673137015 725196720 170116399 177380877 232037411 561383532 745252380 426578901 998821656 285639500 878679887 677631856 233558847 276295952 765152212 379610453 737666402 377078472 689352965 947198058 159937871 242314074 993930960 642163933 829202399 853141814 534503852 564834930 797788950 648849209 687762779 650989913 619788088 602647259 114683759 795330889 836885568 397086071 226854153 798319931 314372645 293310315 714371255 650187756 749816439 663226925 786920318 516144395 669400542 191753470 221075286 589758422 490044063 536186722 441966135 588373723 814500936 948171427 929026410 656302756 231069245 917412159 439677919 790559694 896551341 297194080 524772905 336503757 639786741 967343136 189196010 976921030 485466777 281299058 402583730 827180111 762321842 884288167 934716842 103592248 515399411 286421987 779810598 165407819 848551447 184507335 555852222 173957546 131290198 308669140 564794421 613464614 689546827 339704869 506222690 174785843 732066549 835634618 861463495 177330240 586631721 238347230 545961379 273858559 716725819 402169993 568491268 492073006 258490074 887949668 360477996 158742041 140799871 984803467 167774854 913851471 841969552 375523131 162390863 934170473 900985795 864011305 467467938 649751052 257515110 662613921 735559774 219485233 333450467 480277802 457698697 197014955 270218975 787460336 553096422 182093124 511396959 545898325 994849155 505280159 281034438 935727494 770780390 221180408 506022426 686986885 878573118 451209376 611946440 457726686 361606013 161150854 328697238 200295455 309178839 766547973 916237687 688420830 282418421 552901932 270778279 392827586 466668207 563620077 919905775 624692569 640176176 755604094 419827070 330461880 542129650 251055222 538844182 695863948 738850074 470553334 632813448 122158534 446797856 153358226 635724205 126944089 524096399 461158056 487869133 140252565 500483792 524636473 833227992 966593600 702363082 647352582 703657977 305075578 447950299 366267157 111038770 567836287 357846934 570669195 102882732 521500503 230449704 433059697 684409623 495596414 102496214 799455771 682406564 974794104 781201620 777930123 645120457 867832214 694775651 759679253 131108643 377667900 102251049 630910633 788212371 283020749 744734526 458201827 616110959 216910463 994938287 442308216 941785185 701928229 210295456 686093929 870807974 914421706 523651911 569678964 330181407 584192381 653512139 892708911 372717698 962245221 202328571 177124502 764213637 623967378 701393256 463350460 252318152 126271283 277656519 666379702 725279425 376240177 313967717 857409049 590441639 177802290 516398751 678605077 698094739 672657718 743401906 848582982 598173936 729146429 132188784 848125970 290317782 877530548 495374761 703381141 505730476 143455733 597719348 552181307 717056519 742795939 386614199 944483611 441714042 610343482 365333418 839181452 323733190 383235550 205549116 115896813 633532523 770539490 223564280 677759571 381584159 305495073 411334960 937145288 581288058 550051665 754941191 173637156 752852547 595523411 395837279 507628013 950188533 313225763 757264403 326756959 480110257 706941187 842906024 644496439 277052545 930705441 364695941 967217932 268471958 135506887 241345281 522071544 964332050 763619972 513969887 165628137 570668958 193618214 723994186 792902739 762482928 768388283 107715062 765040375 765633628 164059019 353070004 319871803 248500692 685737014 471048222 445965678 960864701 957121737 234104163 823515369 721287871 342881568 798197772 452879040 618186431 471217388 812970569 214070161 628182885 805779803 939240634 328082008 693814377 136867134 175998496 502177534 303449317 102819046 473922692 731492038 169332435 916368878 715401776 723580998 831530884 725248342 293696360 300431947 285573452 153250413 371807855 502964003 792841502 171137875 305241270 818427681 922934282 271875082 981437880 982079559 466357632 627707808 973381037 859232371 548404647 739763353 418189016 925951490 483535764 297645127 347828166 286596480 135710374 924439712 667941029 601996878 558454085 766850876 791166333 777759252 517409633 995451287 562136447 513686108 502795756 423121393 660998341 564001192 681923487 487299596 816219883 173042023 114562767 225683108 933267461 619147114 654589329 971321456 139699135 703533112 979217385 999152813 204256430 789564754 685180670 144572692 755448556 846781318 559087472 661435991 916263138 552456659 641446417 747928741 520907081 489964261 146917929 424056585 424199514 712335685 191732034 797916236 177523444 952264144 977157657 442333166 486894421 778146349 893557176 861211817 414643229 687775849 346194254 821742407 847220835 570502463 795505371 499571178 524390431 520940469 235386050 258943272 498069504 138133787 117315520 342131869 543975157 324676391 757503103 248384254 108282749 730335951 899784782 943552901 737498211 410499915 745761890 790981880 748631373 540016424 700541078 633161413 624897281 278215184 423297543 589672721 702517547 905317630 780298066 316512709 941504297 913592666 927412819 834300725 142697014 893351232 549915343 886351141 217783570 152899612 369885333 959816383 811706711 278383622 210310641 489242357 714040681 128591508 789774989 852708317 465436820 744142419 475550698 961581107 256765280 983451286 153647001 702463738 519057871 760413127 738808280 802002687 622333554 581935551 118287720 672950925 104065414 704837520 539314936 884707154 419594651 546125874 467668360 892199061 875204002 767684423 150262538 123795459 137369224 614443853 844338596 776257491 758557175 717339023 128705351 508896100 928864622 741842990 779317401 294116912 716894513 783418901 266521799 760164930 330012213 920009035 604464285 654251371 308714218 960765597 257597917 558015283 132246388 204828141 117416533 177124229 394618630 243602723 302815828 373275489 344292721 530812422 432676442 127427044 109768300 724031922 142119454 888308997 499960982 618393187 839987504 606205574 234297171 131683214 766262792 392332671 666192438 586667368 486683517 168299951 404073498 899467051 974428624 918206283 454100388 383698031 407749736 407416289 750241182 218948328 498801196 651101023 668047765 148201671 502105446 125032705 226758016 340597194 319165049 315125316 424394946 140989820 873841774 751024863 297112195 649386645 477345577 516142171 291539626 386785199 655797554 126122857 211991835 625347958 883120048 540343747 577743409 181457467 681279803 766645197 918920052 801601828 163023002 923471375 403097281 861384851 213801737 361201782 845192000 374143888 457148902 920669367 530446868 614667587 211536034 462173620 979733747 826678470 792912012 582322695 706567100 167032539 128291702 476150654 413815474 890553871 705243425 699061239 456919132 480845049 688454166 647623477 496363061 448281616 933233422 296699273 557361086 361707040 904424189 956366391 295675678 224886643 949279796 188861031 590135386 767188123 419738531 105753216 188458513 245768680 940236071 786479229 663268328 662201269 542522917 446880630 398856124 669421439 361264322 481667142 925141969 595411518 511705042 212187628 359647834 563452900 376980761 649264079 227905647 414446357 783568182 360152350 557394407 167222130 933007814 974814952 336740891 694323683 311019443 769354378 146894181 695873069 587968383 886509193 252087393 119274989 180346261 160697851 657257339 601361628 335616786 559084519 411476018 570347516 838320859 442269064 385316428 948510893 365217161 971095567 253900880 910160440 646264602 649388596 902566845 411375436 693094699 501881879 850428400 414300185 308249016 119376118 669974970 313923124 928020208 915687212 125617482 699187384 737364125 322657612 797817176 609502645 183017278 299305361 318061480 661853001 120650119 180647761 346288948 588246723 346130734 308070240 890031710 144802161 294394593 249575798 476828058 156657940 713783282 763148880 464979371 690671860 515427960 172536760 595490198 219991353 653714781 200431227 266543584 459804679 810426787 104459629 293182514 465704853 219904936 107784795 583942506 207319852 438081686 432799174 104068402 127948693 949775234 897365478 336946353 253213476 320095369 518523885 990601303 532811310 207956609 422410327 324321392 502588656 694052356 967564757 771718055 690198286 805239771 150878748 947395664 385978896 598903608 599858278 836830318 110306758 319487527 959823615 501375381 748892598 301063130 318539023 979665047 593617248 504541555 846081735 666995820 313678449 804765939 730590852 391693898 425446809 994820312 904776965 256309229 290179411 352173532 184004936 480368646 497197933 185405271 591849731 224103798 850820086 907730617 417599128 245622594 848161900 960919187 485153789 330432359 225782710 642927859 369563741 546904303 373273211 112694212 420853423 597321544 455427820 884997105 461146006 551286894 666236483 710033961 435253546 645555198 554289275 800981540 787920064 166480277 289642026 833391154 643329982 974794792 168634930 874571475 610463078 454771144 785483817 311625934 106556268 111380201 707069021 957662535 325286567 763915163 173227445 222274696 447050840 286124866 789181312 597320463 621584755 510541688 551695740 572978623 449927623 473084315 990218068 893465879 920051940 676909531 137348785 835444912 564253967 462702167 840651967 480652292 719732542 888993703 811887879 207405897 103113101 945257603 467012533 285875765 529651761 175677799 291701357 532107975 784395989 205405270 802209090 339831928 347998839 707677079 850096678 158904740 202726913 848077278 997550556 968278529 629179349 491707441 114974143 313000912 874452449 677717296 428163073 221737069 336432682 307079544 981427563 619307297 589912629 113187805 314725488 801789539 149379727 993184031 862653451 637716573 385077111 432923387 919142385 679810409 478453635 113307908 666370770 915423702 864963282 588236178 902626838 312355664 245907264 782812464 742596696 184531051 693375150 566348620 628095551 589869328 931425705 795177314 238827594 220531905 262273838 136376294 427223657 598481690 885153120 403395322 941743446 334048886 744228395 186955746 813712467 742406238 927762823 356795886 324961717 722212621 771625547 507713000 214115888 744692957 293139453 496579471 617437818 137363317 193060367 350764267 468185805 370336818 711269981 584196233 249744252 492848473 700687156 528473672 953582462 662434228 600376275 762298821 481280296 157086788 806415376 498154391 378047293 224495111 460459214 624358417 178542612 613364348 673727722 138185899 661409793 774006637 645173813 468281400 193128896 102729216 368256449 348336450 568279016 892391175 844007873 718656620 280878398 741168241 334820237 547309805 671573417 718863532 681485845 616133335 650212716 272202047 725453822 951235690 633684251 752344546 338405027 459430154 109098263 201414388 258136227 662530967 207934772 895229237 347836132 428698732 447585626 789222027 546375219 911164320 816851898 163819270 977041372 650130116 681388596 953838270 159250414 718263004 763103903 736869203 719891329 225090509 658301215 875529696 170545738 931227513 572527286 349347710 974080768 389865016 721516803 766740147 519322734 495187948 183310154 266575257 695428067 419724206 249455300 924095161 841689606 449924840 247859380 489465768 272635941 623466517 498681997 256375554 797919372 797262147 331417663 914344315 165673602 286818997 863388185 285777768 924780533 628027731 258941920 206886653 110669948 879073722 587688199 891303866 657159184 578225366 505998580 848299433 817111842 644766770 837159600 101092309 569970373 737717788 502885474 434143991 551785429 826042691 533838189 234530535 386116534 189373052 374156888 564096504 165334142 372945571 291640291 806818901 795577492 115924126 130854973 280682996 875375409 510963278 486215967 628647266 500522245 210930254 166617784 472352002 185678498 251881860 464484810 497308498 143017479 890900442 485858272 807786249 261436683 338411052 696935519 723699077 112048394 696452580 281534948 418916486 443788446 103355271 894042579 233495122 230662755 753147612 816121988 700919250 499460925 180233127 488401366 508164465 699329388 259868346 625776663 881962698 172112321 440261378 421887130 685342378 216148083 592714012 471043573 175649939 733103193 325711499 896600832 845881540 804680332 969761398 703262703 373929290 325814569 853619340 943755517 768843024 749368865 138506791 290233923 499512001 252539760 549396572 864206050 104747218 894640279 243107368 822201197 765618166 193140862 237605023 201388001 165704297 756461294 867883069 908059538 773736180 841226842 999211038 367417737 432145018 855103047 426596105 626141505 881525302 490227983 471161042 482194279 320182531 862918212 783399957 387679310 394243955 515321049 960410311 915531495 903522404 877365256 752243999 705871537 457110520 904957967 963594091 512120475 841738783 749992449 817133110 351203705 201098646 829916416 565453193 802492538 975029946 336194647 480492977 883252032 182919844 662514262 207874586 670265692 933817877 371219857 858034827 577027264 957224011 741439574 447504555 906242127 262463700 297902157 934348982 373966497 530356158 949948071 678546444 417306480 912874006 620753844 566177557 375358796 253159470 909769163 323475493 239398260 245153894 394893900 974061280 412519518 580198875 340010248 929678847 939031330 534142570 112623001 737074439 256088442 147766999 572464670 850713925 876793812 595780008 102336277 850048764 854876111 212641078 949682997 337650626 684682749 101872204 739790368 149082510 230832666 298471059 560171981 371319524 705937355 118105235 979649545 439455323 252007022 124064082 690018343 771644796 561147354 220356885 728139864 340375292 824620376 995225654 182631023 665238575 633169589 857483688 144831712 252339257 949528234 554625557 999318315 168614527 372325275 362451044 522564871 485171801 544991714 548463513 464805267 497766808 398298503 961576922 851621815 478879840 283731931 926589147 735729573 192494207 539511091 245108267 595275304 394180258 430641238 156307651 629148597 228886329 460028264 334395507 209082592 564825751 676996163 216048239 850874118 450336796 174391930 800298763 613199662 839506401 718565061 736207298 842338485 234314795 374114543 249817048 904820856 826264597 421925670 824527525 364053900 186334070 341094221 810006266 156671338 579643946 248616780 112978284 239572783 862194119 296398747 763085110 285026573 813662899 102727962 716802537 425484025 492556370 996908940 302028936 966314851 450565447 449310146 128700523 677250702 294485307 765122008 956621066 934668895 678069428 634064346 101784728 403855553 804958190 251086632 820301949 259318874 111401930 910227081 209674099 716747893 866761251 219358625 520974596 675225373 743778107 623213195 531880410 351309522 304386405 275595433 833687100 222030158 398512882 727213853 488255292 750875565 653718591 180733354 615902444 652280220 344544029 498483309 906606011 337236654 313772911 908308999 267959744 967655206 313637347 424815995 851931791 676576449 604429964 615521518 942453276 879687458 556947301 347393345 699809414 850597989 646045744 612491324 794941117 783873618 323916128 409687740 837112925 137397136 813917366 673678620 815034294 735647036 112730092 607931995 654644034 557946494 938536031 656225287 947178244 986951384 537808726 690753314 773870167 310323328 203405925 751895718 280511223 350297476 312992248 423114742 491706705 598930430 703251284 228284581 854019317 639149817 254548495 177233731 704835244 138725024 322876313 905316833 859726495 521410920 267075955 852800913 382201247 338196499 270129707 237644772 274691855 129114491 597629184 607398182 965113929 355335824 341368423 407037816 822127799 199699421 518210838 414708838 582386783 358776440 823025589 862507592 994113642 546187786 831895085 739284497 915428317 240577947 646137023 779457391 236722177 145157538 141547596 487446682 705483078 423822997 418610277 438046807 647930970 648041785 231362411 645373854 837073077 521293093 579032599 747769775 310746606 713086708 749781727 153882437 569914132 526720294 790843777 371984539 277787804 737610264 610790799 285939496 393646348 730736212 908926002 401813048 217833458 735565789 357719093 422381371 694043198 746423997 234281848 558527991 501378288 496560109 709260635 687147989 368517627 413254167 256079576 547135786 942636235 310166940 106687467 950947545 826508071 770147262 377232784 985661326 240298825 384696235 664592855 693079127 203268234 387599721 262627512 568975803 576517811 219024656 172676629 289771801 709456992 272124505 137408292 662580251 487138019 231134897 196309492 250488492 195496038 779240788 363500466 995998908 611496910 617039724 939079802 839952652 101794712 845376509 145563395 318223134 508638760 403027878 365890519 743078790 280942680 301993263 870059737 392846199 666301372 179656466 156544905 993366377 724886924 886072589 628296210 204946193 881790849 824241442 154184398 813119960 690182662 965006196 518946762 389975943 547837419 747566032 719405684 430999984 795843498 306806190 206059900 517513960 242528294 357940498 497436558 602381814 476366114 493642582 356876916 283473451 830044408 859726758 350905448 747727771 804089736 635445751 277947811 661298210 881235533 810161284 651290650 309813418 816769763 169881514 356550161 258509885 344177164 174797121 959329471 927835559 115877589 537112616 916558563 640924364 393792199 684441874 592146414 438383365 577641781 250732810 377440920 990583716 801948773 840524601 515301047 776109160 988784715 944968971 992400606 287262647 870690890 558194884 694189808 665206831 284702542 282040452 282868357 614198153 133204854 632546798 780132713 730942406 671065260 926127032 977227841 880401973 700057699 198143793 223172588 303937444 427020345 646456607 708109072 794484780 398271933 873417618 195746915 331933763 198617444 350958722 499073813 971460586 881276577 852583910 391519698 699757696 482062633 753373451 404688332 577558561 126177325 803121017 823777914 690808484 240398772 848330014 211545424 362423385 333238785 541170671 277930220 695328189 625302422 331654191 731712018 168550901 389864409 153421396 624361355 355960507 790610017 621945792 475529689 719668126 795970274 929669215 546262193 443258437 247830892 619304857 520273180 891156028 701493051 734714505 652778334 791992135 281480825 778958066 434330381 281168732 602573768 612396192 743964482 123258133 530579696 920716330 461010387 720149803 710260112 367630831 610662776 575255056 223446931 707368527 691152299 150496519 952308566 984179231 175848729 635307411 879281631 204212728 409935581 851302609 757086024 762889423 871399232 520761888 330977368 456327826 244686971 363990858 335683522 992494858 352331019 518813545 885844777 122629318 487217458 922859205 162816006 828078978 217616210 194104528 209991235 555917456 627045983 902437801 555754515 318354721 321150242 187671476 920546088 448656399 104776105 983025609 657113579 210972502 805225282 887943686 285862820 614664805 446741567 151885102 670341066 872976075 101069986 377764611 714655824 358276774 686356840 971765712 844249979 386141984 897919939 647998928 598193079 599529567 352216862 424861619 234726485 414210773 254893236 289063480 353705973 694216556 683115126 164456706 924684000 353696740 713221607 904248422 658129618 797580407 638756315 729657469 203332706 625803849 262531802 435508801 405730224 690658890 846828582 712549990 234304685 894014812 766499192 611268009 536425785 671284028 543820702 281230715 759724655 580283864 514710203 899979275 623788469 806515817 778389722 994389679 350937702 638555093 105983487 519043020 516874828 368768984 345455999 545176174 464851297 833256592 780861922 415201202 492308530 656189290 969631081 499917014 488739769 337345642 280607255 560679221 193929843 541724405 152552763 542375943 468191021 481254503 673572217 140098880 386466747 254200381 987929201 190680257 940856441 942131268 907775074 526323117 245387377 727485710 530403887 727196205 749504740 663305763 252261678 452775060 668523777 134072887 487341671 110380553 416175772 558728119 726691066 598621600 736563802 732547403 160402823 504083644 993673900 317645067 340642242 228866774 857869109 617588710 513425939 843531451 846028137 435168407 786468527 791041036 170791566 245133400 360902529 375418193 980194934 554907530 131335922 169831391 797481778 373296262 411256926 641780812 958643253 827565568 189601174 247725691 626391185 727312644 607362749 521081226 644944654 898880084 920916086 488340581 538219037 332074814 745749922 488280963 809630363 119971605 905068429 669450363 195145032 450194747 800588174 273729153 138023212 489928091 995430015 649812338 979958377 238421366 276362522 733479312 756083091 418573629 753452401 766637044 363682327 669207555 502684578 222246856 815058799 275688843 533452018 881870003 520180101 869235712 752615314 152828083 498845769 446629403 167574771 116029324 691432691 236901073 507282330 873704130 890491440 560582694 507262469 912470173 353517395 683394811 964789890 315001061 807867831 337076338 237084733 961735112 758583234 177238753 691024038 352005434 392193501 191410825 902033703 754552154 643894818 885993657 272734189 617700666 123479462 567415786 861168181 666218716 563281558 846611754 477914123 132983033 757462129 811890939 278059393 876467048 298437695 984997956 592671767 884066407 200870474 231257820 173590592 785807774 955641601 113728620 962972394 756068264 883080583 935776333 187394878 550200262 429390039 131712861 334505079 744454246 110636956 440668073 286625380 934482416 475080589 673451119 312245965 446067527 744741650 913799108 820847950 771827485 638410518 529852965 263068873 937003726 482253795 500359388 358595666 668798002 156727980 946249951 396862149 580943336 848281329 432643436 272023856 336628825 643959417 181160536 836969931 783411086 286865406 832860980 434153989 859438674 631476937 808081228 672167800 569179127 997696743 272613487 896591307 350210182 241406401 707484308 241557485 503343637 283609488 621303133 770496734 338986899 462561286 668625600 923832967 963604650 627897676 179783550 624962137 698661319 847011894 769422182 290212883 934256387 989684536 898047193 903016329 421225733 579577728 439785961 127570132 843268856 692575200 974029516 639940871 366338526 276558044 852434696 205702788 906876833 897300297 528970964 816364816 501312937 576602190 207808107 419659677 119734515 697426761 381984813 259067677 840153171 893508857 890736732 964918417 653328454 505159724 121018826 225413117 795218644 857424341 357327100 368343042 913016919 982335155 516696785 658874309 522398295 926295201 121402733 941126693 677362938 765298139 570746257 242943306 142353802 787765516 597207279 609829963 514741936 938040245 817203764 680365984 856796582 154752148 475773855 468824815 306150334 230962582 870758733 393041349 462460803 698948705 661820074 964244275 508854449 198856906 823051090 818562085 985146022 728101982 212096671 391806910 949571824 854323680 956946043 693342778 824946322 246296081 142482420 435283611 917978518 266826424 741373832 777034161 363755924 173772323 434560923 158675668 134386252 759687312 459525808 185284459 607849432 458387096 552043017 656318529 775579709 274711735 410486075 803398839 810103807 135077478 620645487 390270664 225768443 522275429 278509674 647132296 405511912 945754859 434028518 757939085 487275578 123791708 676267239 468402595 294461839 925652102 179880415 859312692 120716859 885725756 148634240 628720974 118644965 287695211 294395820 260956857 601298231 454712905 746376595 893559032 485455240 787961376 973971376 920237373 496885832 166204919 774906829 163138652 152736985 386928046 757336620 234596833 864247453 278419077 598002805 235026407 427044074 110898095 565613068 511305075 208223100 442840486 663724336 621806490 542699631 956378148 146093177 533397895 465443624 916105093 792884257 428929670 525595071 803612638 911261303 542982212 989462923 282510535 108809989 789968179 639285966 513216790 452775246 946050019 685194710 452724247 459033741 977725119 130797644 595605999 394588260 184183873 479533862 887356218 455973621 419573303 874523737 453620128 620916653 274541777 842482111 306858323 204996968 241851479 359593271 379132728 785694357 837470282 856172402 699088333 998701422 758506316 670996001 584262280 609650085 285359719 451593307 908032699 317742854 849610323 682200852 211067587 534418646 526825874 540155153 447422326 494859155 102126870 313586309 990361328 861254915 350636889 708092268 694573751 416045048 912188771 543395643 864519942 268798651 445747928 827863298 419978854 730775470 581171455 636327456 650117242 264345715 621468383 480156413 151036352 346058445 858186169 108250093 807033171 814558892 439600589 477137517 175935944 714297935 363175581 613528408 647170870 106887658 308579806 475820337 625634664 768314699 812037385 455975618 499743390 195616316 103737737 642449140 424567171 345802265 205255907 636284865 954341047 286320731 479310970 816339752 648012336 769940659 975245350 963696117 636292534 927768413 805726354 548164158 132378429 303452981 829779530 206337860 992524850 978715278 190219940 126145319 141637822 590776901 782127956 322426006 904773651 973644230 632749957 415878830 415361056 523488793 116863050 398289061 205793526 497106537 608111716 344867986 258044049 121188691 380433810 211608632 885805702 276394128 989029756 190617497 814405058 405955351 373289312 110098355 264428388 462668347 791850791 856653014 612555194 754138194 745135046 646165478 126794230 325720808 777687878 351342857 809403798 475201034 417455615 539747691 126719680 214039953 742090676 580731542 615142324 863932080 106070921 801815132 950392740 404855184 709869881 238585357 967599552 405328115 579870772 159776276 361251918 710436778 190481359 535538428 529481644 304378254 111550425 333931674 168592527 862535220 964433365 505139394 814768722 984133719 708066264 569960580 126499722 731378020 321465255 435621176 262093229 903421728 357030547 888595822 628286155 848203892 901810343 586184250 881009091 943934938 873886909 205253774 961237228 862161069 385152803 474288334 294780488 263543951 805812140 339255668 216366692 461945698 133745765 221116126 571572864 208824120 249168367 334285638 455115893 393777965 162119104 565010824 861771911 410619829 892791027 728527040 308716263 535616757 749936889 346828082 337986235 640179696 562810181 484754957 642050098 435571518 691434199 443953865 124170368 102445526 239127534 735127131 185215559 933324694 522707916 649241114 591241678 105945495 401072092 868372163 897105395 929363117 870745217 274925899 725131961 586422754 698469062 672286412 727928160 646266330 656868612 205660301 842369080 416417413 922620937 930666190 711177491 662198216 168744133 504816886 381062114 742176885 968275747 735758568 638360003 933308707 590139020 267978349 734752522 683044891 798167078 181862185 881966403 104274590 770700346 606732283 665158608 928790834 387826248 618205465 137040509 753899615 691867202 678096364 853399323 701405154 545851071 489781186 730064000 720701559 312945117 202082862 379748684 191610243 559468374 592889511 959797255 439482622 134794147 173111265 510435135 446849530 876121754 966503665 221548639 170009600 920700912 410056059 288803408 519956088 266138910 523479388 971204424 203289654 756121934 533162697 471191861 710119433 825779892 974165778 768192683 701000310 672020358 411471089 333360257 967091036 732780085 274534556 189446109 844419322 143285627 432592731 204121606 515393554 889519040 192671773 369683404 838552881 213889854 374490908 793576780 307070745 290942114 756616577 243451520 459020922 494252269 934563361 170926628 694300631 830467053 566654280 551658826 584520507 885165117 155487274 326409026 291527619 118698378 115167458 813177568 989030282 917998566 880051874 412247867 960465970 982493307 762749036 552540595 200621806 853516356 183966395 375406552 166906451 349648222 311303417 578551780 374630007 531674781 234648478 268913585 266838550 640828312 472440498 302878882 686191835 219043207 258630301 603831692 879682947 874636134 544070025 408851180 704277254 912192305 920043219 632845058 990644207 635836093 263931620 223298080 550021831 893090090 137187391 460808861 467951348 854039973 224727938 537129913 727019113 117881405 864605428 726139411 577130976 805640696 406022647 175169173 944035720 972375619 993933125 462562013 571290678 807732315 999461518 282465791 685233425 125342004 804077696 964515131 672884995 840288094 295997052 819241663 386444091 792656341 841160963 957485536 625770097 526751892 782204905 302227992 321651425 299107383 701362370 308573557 628480296 335903271 211395544 838297592 163063061 978824796 166087585 654845709 432270700 123938448 572771404 368075783 873505651 851060034 950620517 696319141 139518909 725891727 120979151 284936147 596328327 563256728 216088770 110455989 535254102 415167974 801373573 771224717 180844510 423626031 423276714 102681711 189883579 623311299 516798430 342055999 718059095 268190236 838580715 586846570 820419175 307803147 888642863 346089178 608787109 230973328 471144486 611713508 345895936 451107480 256909338 151933307 744070541 770876387 886238943 400326665 332593640 722471239 542581723 662600930 601670456 706208002 172732171 193961328 842899219 240852274 408787057 937866614 937814848 970495330 842808813 666529499 282694416 309542065 111598887 953276731 832236088 365791798 367619360 335045285 573173027 958155745 440588855 268078741 378498360 476598220 173947324 982046604 473271352 376973268 180362979 900825337 478375160 720318782 491346979 313100238 270551657 170242428 401353403 783064967 407086279 341881937 871087856 571621484 434525170 575598399 566756356 434442255 505454699 209896249 610471643 398358092 801784029 951341512 801548631 247749811 149591634 164610555 821511330 826891883 706001142 512010951 963798527 428978448 644354620 724971300 393362613 511380829 853045219 315243214 689418031 718314981 857061004 173702501 919516640 752926492 819866672 336062241 224360452 176769540 461539737 337838652 922599827 830427260 933255009 722826699 354014181 283786180 792925606 333137373 325901755 647325613 440306862 388357621 476349613 560687528 510498078 753370623 207885565 546750921 369865594 441540905 271452865 106017823 409579956 714584483 555751586 834860375 519602117 310094976 781062783 551077862 172908571 770328863 891360600 852658941 507865492 184135940 828880299 533682953 730090824 883664196 362934822 603304525 991368022 918311116 257060678 167514941 873038410 825117327 542138582 156572925 189258417 843942980 536301159 293731922 369882296 830298445 905684363 761405119 212701787 253813195 993580336 811289328 353502824 914368797 480878977 984425938 294643520 557049349 499048177 415320011 425971921 718901876 501503756 402701657 788309029 760186855 136807695 744511321 801119293 830545716 437320669 452557581 807937389 157541370 619172495 870057628 688679724 810275467 232107829 197369987 476936778 689674071 586339696 582181335 252226696 648905419 721248646 615327801 748606948 614724839 812979494 460958059 984960541 243180969 528477059 105334748 793055639 758329750 668364157 348756730 178394658 285943382 884563101 128015838 264623329 150521277 491117775 463735082 462311777 529852924 120567936 758521407 519016158 724190464 689863934 802668392 159357626 656900354 769589795 169017800 754216939 445149145 517279016 178842062 275660180 771306664 185438611 725667120 251263543 901929428 520010066 839301398 778529592 828403734 478411738 488470446 677374620 381067694 515051658 915353246 547048588 942043169 692155568 475614296 369819091 860638774 848721605 902663430 720941180 330664816 600452016 892938831 734947206 584096091 135615122 540946348 217759936 980904257 549394630 464377291 933683339 425873537 997910191 552559856 606073546 210104667 213477930 626333906 256400022 105998579 415069282 864104153 133733242 312991745 131997785 323319397 798330801 368303689 788629983 357627603 365781432 438055112 429265493 797336241 837071229 232036046 496362553 994555742 407941898 517721278 438491795 655628011 561476682 615306248 364814537 205021861 973862605 739380689 138647069 989126698 326640395 683890971 383244680 667163998 483041093 369654259 159410326 491664999 373125635 415765772 268218539 323967373 696152218 109677592 237246627 894594598 899274601 700712420 320008951 421715767 480765634 517050481 605544141 442073517 782882278 334022776 830760450 688427971 760193382 980383699 284751465 925062050 295591909 279030860 657488392 510031548 455454481 493690865 807164824 676182495 840248344 954041770 719344621 119950410 478355991 351858426 953385000 379337903 671366436 327296598 484404262 466737634 970253434 502796695 136340787 815095011 189569681 114655998 907351453 850770237 830416595 450340628 552904794 342024478 684473278 560609659 336455074 187226950 615976398 362209073 632728696 511741460 178461873 921255339 617507859 468413577 889620598 525783989 440567223 624750178 147038734 750811293 503304416 461899382 813414144 994904759 476545066 704179807 586371219 420021743 395382857 627522467 274706360 326624621 344453167 110415702 475469248 502843920 553570965 511804418 215258021 690882258 444827599 251903560 437271242 432711429 803138079 298258559 914516567 534481370 717099345 406866988 863173191 249969124 935335714 212311506 639270155 287946139 453264429 340840449 279340900 762021755 965908170 185411110 159123788 261388990 635790847 266800826 793673813 647363458 983355974 334832806 899317652 549878313 192176800 129822534 682078488 733615902 992720273 313525947 249214530 641494195 685891513 343912209 313295444 823802952 240506311 180530715 810087366 750759640 391435269 567298979 434972027 254026637 681891102 887771409 915337386 466229368 798218463 588836191 509765554 132002789 570129331 197924486 565532134 330240357 914480939 990679705 598457478 774500673 516383195 778590186 198628753 708639110 224536935 904288881 126302164 625674304 471317970 374180070 390997570 268983329 648634224 298127848 529196991 559248839 143693616 794126972 841287500 917478479 509190244 423253379 345213038 566707996 934359116 729453740 203278283 932274156 180012578 521661470 191565586 303379283 830925690 611670966 795046438 147255542 355207113 445189728 580641538 922570318 465332225 426256260 318670161 144345850 930637269 284742884 853800626 378049781 113382960 180977783 566846245 605567271 216363551 513214494 857097519 136438384 882340138 810659230 636827033 461820300 400557297 982815430 504036731 136965058 881842601 642486947 241391362 928044128 751452944 698079499 750565902 791882360 495194732 737006484 217154109 112761044 343285368 857262767 268551352 567973317 290864856 585947925 858411591 438839793 734474218 235535854 563898059 383209118 779215856 342015541 828755045 882165494 710456460 827267234 175436158 298569940 677192494 667783668 461673456 831867575 344808812 183245012 321038468 790042147 218938929 653509484 581997195 212597273 232525512 399094834 830921336 680276893 670764474 686311058 338824017 380848051 820277221 665649920 194636381 717955241 378437703 549669384 513876506 166123411 648978368 710842803 843475957 985393017 872132081 990812661 245355497 295366434 495638502 984485842 188242689 441513140 762584313 221967244 246863963 825657404 850925600 774045849 656282209 936948814 410772394 585023832 210888880 492948660 200067165 443545341 778984135 695163908 157180356 117263780 389934299 777837466 736329182 977782451 811633906 323518323 818723474 400443517 537338135 877584332 961378973 777559930 280347412 319869768 114254574 778554007 549103516 812874190 280715980 416831646 355035614 671545877 807930180 646988855 948299370 342881348 372437528 121629906 310779637 342214218 901609748 745500497 244121408 689937483 588875345 178050837 240652971 964673391 994283083 947495975 380846681 674561754 374275713 697563373 757190521 908072472 579611491 357516652 433120951 515754819 801828879 544640880 670300408 993767544 129746533 996356069 663727024 749743285 619976782 755107899 824938380 365031429 498107023 588647537 979449936 707604985 775849394 934122821 613881956 830335910 203893638 534321672 308896030 500333169 220140833 658036856 445039147 548148112 836437618 842488280 113666965 190174938 351748281 672880282 244136393 317850468 245914717 661271748 968246383 684403538 667459492 304898071 887335868 122693731 725946950 316379768 299009994 744642474 702375281 920686756 929878072 251131625 271523284 172906756 407757184 165842972 139772053 666394323 415693589 107700282 489720783 932326070 632290897 793074476 908719542 573235335 206007498 301629723 868767897 322332692 938798760 363279956 969858796 915944730 240696145 444453928 449624939 792548938 176530034 792106856 646769586 740293213 991431228 838105400 826336404 415164200 397154193 411893703 390988658 251614938 343756043 102048491 728514974 901764049 327187558 902256605 872456345 284732229 718425785 943157688 378761299 339958903 688785386 175164353 114351979 788038099 116983158 967016910 550317221 158734521 699171506 536641247 434327144 467479914 242734746 504643297 326287153 287352764 201894737 619460800 335301760 976917239 565953081 132820414 289987172 862944473 842831382 287636037 803635317 239700925 770896228 129758631 103287858 786923922 152530657 834288834 356005023 275780768 157676844 458218061 429475845 482790054 564832120 891501757 105544741 823971556 142485806 647459663 102167773 235539503 790979675 718203510 565923843 614324856 553529944 318255134 697250486 856715739 413718813 201567972 638629396 210415468 391811662 707205868 797215403 584590372 883892837 548615201 242286692 795839577 766875055 681043667 762321052 588890917 185405079 469146016 457432300 982892478 818155132 958803189 128596844 993346330 936790525 330905540 290509394 363997408 146758879 992259955 564498372 351770414 231363110 947341874 654238047 752532864 731129585 693896774 967822399 585140641 862759492 158152557 240965855 564141866 673832164 930828056 672819409 559960566 761196986 335145316 309358893 944792213 193720994 146602599 183891949 134346578 627932398 333138778 451377217 624866574 369972785 715309041 372067577 832013505 726135376 533932053 299098146 464553322 466884993 974744597 687909079 324811901 464565015 817618607 885958972 952351389 170137142 388859188 687525582 421975047 803968502 760991705 298243820 630545553 479993593 876142737 407062878 268904771 164753516 361272420 765711199 648092874 708712901 301418296 640550392 179499291 347778083 265725350 239009593 938193206 471566505 974365573 884678499 934044863 139721158 902183320 485822809 458015333 172279600 627001865 649719076 865793824 666784116 220649473 658774521 330258329 108906292 947570885 941483096 924491234 164877239 208568217 468568489 936794939 506909807 961617937 242289101 751285287 344967930 932195905 628679930 137626705 733001089 131942963 709033181 938014017 203614784 934321543 263466154 666045506 330532965 229904504 914710236 616715568 822861495 168176400 386023711 888856578 823867432 608479679 576335920 908019128 528874724 273900160 672108030 904090104 142129759 608042011 139056724 929795139 428353548 809277644 751568349 487088603 228417913 320157444 676407284 942339078 841650839 513993980 792461098 420067912 374044713 733326783 134130133 621007971 538437432 235799761 986574111 106521966 148177456 468643239 632548524 520661805 996949777 224898958 242724634 764759108 492908839 249728922 496305983 703602230 982692289 362934623 654499986 140776761 152743476 995613831 370942801 640227329 943818250 942368451 599624425 543570211 417441357 504128521 850510334 377956378 786918219 199570796 481846141 637799697 298964882 363752886 358871668 118987278 139048815 219884165 684615334 154504920 700381054 719973126 850220566 695284059 477183169 329299611 176241965 311542278 513245180 163891573 644857504 981507549 532241416 686880428 422984265 279475655 265208118 708821012 697773976 788310629 929056497 276614999 570113799 204853861 936675153 700798427 844978095 918983921 708791205 746294005 873996755 210726300 539542134 939174882 957265119 788702779 751991218 526685830 585947836 959819753 911983690 727693288 270293204 830925166 527843717 732118694 163962334 751202814 425604813 667189798 429564602 989465043 543779142 121808556 827454670 315603115 137120907 189606761 803170374 135063252 560743618 958441854 240670626 997258217 454888367 604585316 499319475 710362643 257673607 460584312 406728337 769989492 395189575 852244655 694869218 463165452 155866807 333617902 903177552 626299985 690707704 960004610 222491755 399698277 883649476 268466284 622093730 550986764 334358749 256824360 221014730 956167585 424131797 670579632 267738424 259909811 766183118 562495346 226893891 207466520 599064648 575211076 681260237 513318517 991147519 659563050 715662310 788574750 954796650 562187000 514545320 757723492 604958950 242308412 292016703 683522134 591223751 294749759 904561724 181099592 505182610 805373935 963628617 882494611 810775741 601687848 255790557 103155924 751390894 395226232 848815752 357191404 992554563 541405504 397635283 425049002 568435812 641152674 347103769 387342258 710876502 571220523 686939570 512547902 982338782 893013025 272812688 332729764 642546594 377175186 332830608 542841414 655393530 964491597 997598187 179096528 531063980 134789924 358576211 751910316 653170097 634782728 531253486 707138279 421941253 723347705 685614189 710078116 790111257 276710492 899642666 484068453 134935335 345333494 751488810 426862551 930823128 862690905 212618454 330264578 336065757 853513348 626794076 488625843 399232895 404238548 585101814 498232743 444528118 405556719 251122175 647145478 729709479 154948402 231217757 970235738 513561725 840844458 987420564 125805415 192905214 119280140 461637980 191563401 890665564 230066072 226822324 290290457 136981851 315383536 768046032 338579354 533273546 608073113 872545937 673269539 456920185 602116275 280762657 524106131 826593089 940664298 996424662 818556995 966603005 772872521 553322861 362911661 134783204 677133968 726076836 747102121 248342576 791072512 193469387 527777189 487752135 278140768 540230448 375272397 881474031 359393728 132936979 981734621 606633675 663317742 240805950 846892283 663179394 398011452 203263665 440959007 760239088 577797262 704228949 407724579 473806406 116728054 160779390 557357476 623014452 175297703 376647074 384459525 639659625 955100920 360582201 865357176 615532376 120353981 334505823 428996221 146154712 516158909 738099819 382604951 118206168 846120629 215536027 557730080 890289728 166946906 736030291 925005134 673281817 744340246 736879809 768218174 520020567 430053080 808194653 218874110 721803537 229764468 131020107 910553340 305824024 689668305 226871924 936135328 428814184 360204078 559633658 601855201 861767295 782065401 800523346 832157416 895015953 606922827 706607120 393882422 753158706 274375935 152026588 263777987 669193015 423501358 199123121 939634456 823412812 877015437 962980150 557410021 512127336 115673010 104830191 295491073 492086578 745630499 665220673 976478487 257475392 677733695 100212712 190153327 102984011 671431934 922387829 119346975 658176394 358070736 397443192 653928284 659160417 198633606 757776087 788773329 513981557 405462444 806726492 956942628 995716304 970338275 400922184 399033041 728009071 702884611 769289363 732173823 353390151 220910860 711346292 586032425 669396609 320327667 546565827 930537253 266366627 427448453 124354467 696465290 732661130 622820481 685129847 362684118 329409815 285405350 214327733 117206499 597282295 920551760 454570642 675296905 781798524 659565226 829967024 564910145 497047505 997689300 177889546 684740422 640876625 597982111 395295336 648634817 756476430 613489405 938084763 704995450 898357694 667914152 953915778 956331340 583837998 319042032 499064598 136060913 354459412 936850665 619260247 730398260 521892183 475323539 360133914 719716038 302934942 427963978 755146365 838572309 568100743 339065295 930432001 964705207 554143004 432376028 583225922 825562014 391329015 300862834 818040037 109777213 572415516 943094668 700832409 696914001 464847509 685715066 956889860 289411794 164420758 904432011 742718754 195051853 471094388 279495406 159025399 966834980 987514639 542009676 959723141 359266169 694454784 643417082 622138460 258068774 202235424 593197137 427551640 620633325 217506283 751178629 623422713 334025719 620935051 556224517 861669044 707385531 787163182 811201235 894034364 362853640 662529448 700547039 488938906 335403575 950145514 240940545 977185791 302793095 586395915 696758848 305794836 724797251 182364390 134960740 603850426 425516223 774833544 573764091 753292556 850572450 365207581 792417717 150268538 191844043 961606896 443872812 359160865 370727617 592129985 473358251 470045288 620751829 314294370 878160721 529905832 938952821 819850655 813958501 138065322 104536945 681103394 884737407 894859577 402734260 525473944 590534082 379987501 894603727 550916609 646495258 495399186 636101019 716266278 692391403 425647090 729644573 105277709 970079591 624502604 788566632 354375949 550713176 681030706 356462130 348488782 867251715 385906024 397690163 371799682 886480131 344862612 646932504 715484318 247827187 569245158 836805125 665325092 321788969 648166951 290225082 682390941 914161170 530846768 705250799 603558753 364288026 559367688 619056428 259800684 142776219 615611937 707840159 392132377 828450619 476882851 483651389 508692908 918389810 333197024 627722975 644843314 114442831 373807025 806199633 657785545 442745258 961784001 956100440 276553578 795286800 737495763 292295562 463597410 314093617 405544420 371260468 706636133 178175561 888149974 797225635 393427309 549009118 545161807 740527484 604771351 810034911 749283257 652307393 277170369 396542943 320613990 355448484 911220553 600831436 159052543 221657865 183085825 954148686 442985449 437655024 138664870 647264761 556354274 429365481 282364979 660475753 467155646 692073341 895701421 361587624 816815513 168208577 368405203 648851645 292187098 345371141 362546219 714235953 573363333 759464158 178738721 737474577 317949950 850420787 739953147 593200461 735184155 561177397 391181487 555807368 414902030 428892764 318476471 328069130 939551084 653403020 758496200 850452546 777635602 535890530 656334425 479582642 824474894 592972517 644703612 926174842 932916096 733711832 629856696 120877290 387922281 663632407 867039232 136867399 222048057 895976884 887556844 678638855 919079860 846071896 458373565 808261281 592427659 189628438 549303940 322403133 846882662 500833865 484782775 179355978 926746486 957668164 750845202 613619631 222020016 919782737 531087047 566635462 254233891 678651714 480879132 908949348 747978813 748606459 784216116 148184942 303701941 871704549 644059537 549893432 745383503 125135007 584446674 500588701 858382120 937774748 684686851 230191764 389431195 515372920 837196158 816170358 786059041 807686728 520589959 926169837 159037426 423427079 980255264 451462909 395404989 513578412 335274712 486433658 949557207 460403222 397962288 575724918 488512364 422965302 937608086 351486439 411136966 775472689 853418492 621697355 345158671 179699335 438039374 573632876 142396595 387730558 128246725 989287494 462702176 500360550 519783273 755793707 383301452 641084695 451983169 665715574 192980149 312235126 719562995 733897698 799238516 618364315 677499281 382895650 377798301 257257839 582864143 884997587 807844311 750927278 208337195 800568118 639132046 686953788 265092594 600947349 125651075 474237348 965699600 920884618 434436194 130118051 211955556 501578596 312386517 487866937 375310034 246701327 539473850 860878541 967152258 905225924 901439469 421073084 507737648 610083564 248481368 267997741 913905871 900924887 371064622 980254805 522922090 351180057 471545741 342554512 262036229 957752331 308883420 202801238 314043012 312330155 237528308 866577319 787940918 161608750 844313092 230292752 258553169 449594518 620583396 356201573 812286976 545979015 114345457 308609535 424169487 721711379 884888042 407296747 295715927 574873506 638088582 191488579 516694775 498382240 217061587 611853301 898360103 324560468 894808593 173679652 727968521 984320594 619202188 847164180 644858812 381348333 790799696 786704016 811584864 666386439 327369445 195343925 278810190 504262382 822440702 616139412 156875693 784946998 645960660 624813157 468450643 153673322 951411216 163996402 414553502 722469376 918872428 648107642 865395002 760988753 268126480 698010602 882916891 877833268 401929320 783555749 546741265 947920095 628996244 992631730 695004668 787672171 513157064 415601030 378794292 100238217 783578384 453268104 327435005 979531892 332038693 659935707 883265830 249043594 341222605 622575843 645703151 442414272 346064796 165728977 755651089 280487556 595032189 342776091 139103964 318700537 764118586 493833941 967459832 447450746 864582899 915106929 504011397 127359999 250007053 980604453 453631330 214485493 880554255 938601963 153772658 320304464 241600064 363534998 103569774 832557702 315683864 293064254 739561612 325940749 123414908 926448407 565238663 127123423 854698978 901907175 394951895 772719814 574238803 943753712 497096089 562004659 478443275 213443060 937401473 728649564 484414444 844468146 764876572 903255276 327466201 169763016 239758523 976367619 419768318 203765597 757526557 248612929 906188050 350690785 900351945 433974323 425981148 175335130 238703831 951411169 597324321 417186876 866662030 272343751 763721076 949104580 301169281 576153257 489413896 819797826 570926614 369436168 591402143 543350959 161704912 119404663 768583088 632437350 907497503 802851820 920912370 740522229 715670031 859095551 520505809 290335626 673538746 549742890 274774164 231645469 667995960 282889685 180296159 317956439 227651088 598156374 240501608 867378021 232388924 468149775 790066253 490616381 456139034 602692165 707810402 355772745 783820697 283460790 395595462 213029170 610988142 777558469 116066285 307181410 970150079 674902052 159651907 357128871 316490659 400718893 805360094 809338909 356231624 862937855 107211186 423466805 548965444 917906875 329449614 497374468 400773590 997094049 145134110 171368817 328673320 805685744 255745317 198007021 848219250 455330735 932866170 266145464 966134834 501700982 536124428 909118116 271259191 639762826 624588809 172141621 139026968 493578439 766285168 771450978 633384198 223486132 821024916 116611262 875947106 728450309 934280993 192204100 946621741 976631464 359869507 739031005 508194694 896401331 447950238 802249717 874605209 169687682 422905417 781983121 499984791 164089403 493633127 694556266 772176003 786200700 624929137 360983990 975183177 753519781 848520335 141746433 843686824 992767556 187638114 143621902 988052611 992880032 736576867 204260282 145931532 781522345 381125087 120701979 802850740 177276775 440347452 654274352 372979782 438325971 617856656 494900984 363363936 309674374 565521263 250807205 380240588 722009657 848032619 463671854 782293368 668938453 489267978 985403370 776769531 754247894 114659304 408758825 143321898 749517630 758046674 871055957 279442012 930303259 846404987 148527882 263099562 360109780 308693243 844059562 899981566 341355940 147872667 684079713 567670772 444442305 128787504 450682880 293910779 658394797 164255225 185257048 614335180 572254611 582855092 727278512 131899510 838381595 310930716 247917838 218415768 708334786 826972760 284257558 647392103 329363556 663990606 871285787 775270376 367632054 728660804 646460463 250403443 771023213 131252378 268575095 538222824 739260373 820445039 584788998 402884648 687111873 406084095 303792757 404711479 231085101 143452606 453547880 956007673 990881121 164580233 136239086 897276067 197549861 829681817 437914768 275791606 769978568 956509897 236472031 941380928 427770600 286244350 815273820 154620802 895783767 907139097 649065305 160389709 134699626 482448490 310216401 609609293 713191066 689687369 544647356 680305896 736758533 418246752 640386900 729683779 510216166 601444278 635725484 614294495 539093203 681196465 655231905 128802514 269731117 213244566 430979237 323474064 684084726 168633689 321646894 551080660 347893074 928181519 994740160 481687268 948809630 519737298 968938661 240571809 691088620 144825085 341075079 507411524 795936240 726197402 989736966 462940477 794926434 182424858 543462413 513502778 720816155 319346044 465890857 832485815 478407579 544491016 295659083 450976385 974202973 579301644 786126082 122134820 411164819 190953766 839305105 117676391 219171379 535446621 890383342 325967013 726765475 810409748 883016922 241087471 338155124 273864463 377766978 533913199 402077409 364290150 121859835 485506202 295218555 280899795 404904427 724789448 285670334 540102807 617251623 459176376 831297779 582758513 182186212 713025937 695740099 807283010 157455652 107937056 933457808 823076602 222550040 714496598 622701759 596991159 504835697 816830832 730234478 474761614 864273815 623405976 865479953 151665099 661243890 226324388 956663024 688644089 226370775 666475182 808025543 707550922 323543466 743878291 374965502 268486683 724464701 407256102 945627578 177308852 349990224 422693385 847148878 626140588 428822709 431703460 878872352 814890922 443356634 867736135 798190713 495927332 798504510 917913477 801441307 533017858 237540731 328204721 669572473 287980177 666272076 842259381 988331549 188203704 967509864 982880797 678575197 958842114 993247407 908764561 577041167 425509933 607464658 852913571 978414239 936093338 860973382 962196925 399356445 920763422 867864953 443708542 198628004 925228037 339824693 983325425 264591325 752054996 698551780 932981525 875114418 841411810 185322153 167909724 747088797 676458846 620194699 330865095 243847948 923388095 375030723 678514531 145606452 398998917 175999939 944853000 621521845 176039714 436148432 304156915 425510208 955069512 849791270 920836075 375155743 381497598 590982521 912516788 736157679 711510826 413151531 210169048 606201722 541459342 786021862 807631800 303281625 459607480 332720890 720393336 693019787 620922621 581149008 452725601 803726145 254701906 287564474 535520618 244098287 526204122 488162081 638739248 418139030 499052317 582616329 206707236 275522449 958256324 667723783 470757295 262415761 899974475 309791245 988987251 802340963 759027251 926036705 354854585 182652006 688118980 482673444 552867091 755864136 764964971 312397145 601969069 158070483 134768087 924202441 383292405 463684446 755311265 513936999 352382702 154992344 216894222 769409043 557094145 402174798 622582496 541295525 891350526 851826754 721668478 509495576 215076761 493611199 685411427 360066359 380539526 502863479 596576773 969060623 336378746 558723368 839793806 783893241 968328616 347100959 981667191 474305321 107684221 688433460 259951143 820868164 600078531 305624964 554955199 315566834 313844095 638730707 218120796 889033397 838519236 174328929 392630704 399245813 992662148 894555778 524857999 240025528 150442163 596146781 989410668 587790186 294522621 759580148 998130852 706700673 413703996 863681159 791090626 182944690 900183845 492840653 393681630 547274207 322195939 824585430 362973234 459791322 720836449 755970223 388391147 125696779 887120594 558126319 920892095 893593372 903283397 490538788 754323782 644946685 239771639 499845896 787821939 340526130 516966804 376247597 111681727 544089599 212780400 465174419 415880459 240241356 982253292 211622606 852136734 317171657 769768114 806872745 225876592 708292889 314102648 999526837 563496461 302105037 421209363 567646621 333680569 172464678 683215568 502920509 199833907 890023786 494920983 985298951 844608838 516400194 447030368 172216609 840103277 300192564 893921749 572371032 720033610 673162377 268488794 450648606 861041772 119638889 312454835 528896279 354339101 944809809 512270164 928452310 986185994 121723917 856392488 737936509 947084456 515233428 227451563 324261058 917198832 584056245 582252509 495679487 805364078 348163823 861625733 306977707 949768750 892090366 746511947 126127457 463226231 633962263 641622610 816874404 424468669 848420189 969964296 433303031 244133637 670294414 150496984 809842054 907802784 410585441 221293300 721974400 308803406 148940290 102799624 142408440 407807908 882683958 748348200 567466971 994306651 361325744 931394146 541550297 295555066 367937681 700629956 876632378 594452832 888050347 603716218 630099392 571386897 576705880 646803264 123817423 213605810 194281291 582084049 414061801 906659279 527738541 383082082 552230158 801937734 272327183 794505456 720647174 821478087 101639962 960209590 671042584 367315256 254741240 586276153 969499415 987280065 364776535 616915230 981832111 396915729 640415469 762053266 373757431 501640575 375779830 596649671 253998214 554441934 516835966 308202751 299280136 763405040 689425674 619179632 352676841 190017513 531221371 937202366 141989233 866488538 804488190 231382254 617034164 657803222 353579874 356619312 192994963 755942746 664169079 912362897 705659008 604172689 648728947 215534307 175751536 328569775 366115936 446588472 711563977 661454970 770322245 251589314 331409820 738314980 787221191 469575383 257334215 333988683 558017266 487046337 508250957 895330376 235979530 975773920 807381690 161572199 574090401 616339632 241762191 748876874 482208156 167665001 939719057 734611563 922604866 173897343 496751863 188556102 527961061 496408415 819969948 465876692 851328585 227736524 783111704 880782961 207624139 854651075 949821731 199258676 176530543 868213185 559584708 816642651 439735924 881827843 156752911 840424566 262950271 624755521 336420488 663040450 836418062 445218461 503421638 724597413 915746488 639151908 313784908 385223386 726819085 669204003 121154117 634498489 396184500 762402579 692041496 451178169 986628146 620088483 541568309 518425784 752371088 833066845 659982179 757001074 836873379 653897826 617719055 713252389 515533601 328661835 108160093 250638996 596606506 617422870 454875475 790865206 832616939 121246805 419045799 494299956 106934862 875371244 578316635 794898957 408580459 965081016 838098827 182289831 766067710 726874516 666420341 245996853 605484840 169398445 379576246 452274289 678188783 601591782 583519521 789441814 439697986 827049177 176452788 348906851 128880019 945529852 589017543 926060296 651607593 688482218 840994660 993546935 647046588 343051349 746599628 849233939 636286841 519444660 645587988 292598064 601369182 130612184 503796448 373821423 566008347 227743312 873210203 756707826 718575939 439261052 416690905 483601044 161609378 612336541 237706623 214823635 697271895 960645635 918662162 397984099 339019657 356910828 940890700 389231240 554695479 678296328 500725378 693705173 667375029 827722366 184427979 411386559 915142535 762286007 433760046 939689317 555788630 401455647 412662442 611771855 417960079 242770048 906564754 529282786 608556657 627303393 720844927 376605771 804304276 478258255 430466879 277287048 696669869 260808706 469566432 396076201 619977285 793511836 254101873 627667025 253433303 403044322 118433351 643066762 163844954 583512499 214054006 611742796 713969420 438101684 321877525 451038155 845660235 589319293 397070855 234323303 845798489 619142251 456279092 590078313 694517460 741633490 306969471 608042546 216582643 190546790 360032128 519642735 402064753 191306415 262023670 499461241 148050447 421606018 845682857 278018148 804192543 724666228 820102522 286659344 472375256 116879341 476240102 844967391 506459866 542509953 214764980 720930961 776754216 651822615 426005980 271238190 655873383 892150749 508166254 208275521 785956417 752270114 524583756 494294777 141971229 522027530 377630421 356234235 947031138 549516279 790614773 886382426 225698010 151021441 777001298 786784257 573687323 427814272 633499505 988310270 134454924 655735363 209075271 283026127 492293820 141492613 898454814 632046310 315974018 261923027 300959478 643667734 889151021 120041695 643577287 782679449 923460688 298533290 401981513 376951915 665339344 468971964 399029115 862930214 212775909 896571649 382519935 971554817 419286328 319709502 936175014 630622422 349869116 744802460 436515504 444082873 973306492 982461161 589098896 471903402 624437095 160433477 358488796 911031980 579281798 406789739 663639704 617998954 306668401 716598165 171834862 726523443 470701619 867122521 992576313 801173300 254494464 669706689 498381561 209397291 692909937 808811499 529283688 589555334 202026490 392525862 979974921 108709932 786388037 343817834 461176599 129365976 826229148 147373936 186923627 542241082 412027250 686604670 155044494 814282397 471257819 140214690 400759196 863580451 686440283 290162744 485891111 112995719 169827823 199098573 332177814 435271201 721692411 187224364 474013606 650448737 230850017 171748449 940341881 214633965 171760214 754704470 256034778 661179065 343314999 908390349 679051357 349718620 776512589 513358397 107644468 622652743 274478554 797561876 894454086 646175086 369744343 479869397 410812932 948886113 444472795 722279582 567807078 834632590 562115919 562597895 541014384 883828532 167993113 234388424 823219757 229646955 679668708 826170639 709019947 327741246 719274456 789239014 653413308 584624642 238456564 497634916 657602104 514434241 626797693 422492425 439157450 777542698 401682745 993191239 202120969 845908325 788397696 213675462 319848240 500152565 954537561 837825415 963605853 791119275 384719986 553487663 426620946 578453362 151268899 817794309 562345874 221738231 279241565 367225539 962249164 914920340 918250759 238967796 629065638 551414441 265504808 453255666 558052984 295876028 634453317 581424994 119476355 562206168 322537276 752326458 484955488 644773760 199102688 608890771 508183228 444273791 967901060 778132881 386694864 196878676 285668984 711865263 300766202 698176040 186166123 965956485 239872630 456012529 991943387 196912342 753112186 461541225 716447703 770853422 268655685 519361673 217450707 355548662 131156407 309903323 939894382 356433111 367138880 119647099 949331052 944593605 738316929 603944435 280658381 841378085 282798268 572334798 981280316 885864191 228010518 154588857 446496200 419467410 974184344 456228716 720094561 271331989 799009017 158032017 208625319 115615573 390372097 290210993 285602720 247921672 282538354 749695834 219776106 754253274 779935119 246216027 815194506 598291915 429725889 605232804 975169400 207478012 626239445 394952103 912576528 267618337 575292583 140492484 963308295 579564132 945009544 543285941 281234546 977400099 763686652 417825324 784770678 886397343 148804230 638248028 447454781 943591781 982964934 800068366 600063936 598445015 394196642 309715970 776107760 796589679 142863404 143287062 380853599 289427103 485551425 416219435 775650869 261660493 584779959 337242790 138536545 318732542 806025797 417553067 881037078 229716502 470803034 380110223 788125214 737750245 206195153 596700375 332795707 106217895 381915855 869116512 695379546 412903146 410792380 555580704 837885985 210745683 330956380 757948591 300498763 926461252 954656438 129586193 989834096 855160625 809516717 159701938 393152119 547195879 440576488 537301394 345820716 343298574 582348319 598411801 758228362 662119884 861803280 739044162 400146769 884662316 769491623 719194903 745294463 610654952 596330577 495761755 648767416 105448883 986601902 223933127 610092416 359334259 504128405 862053091 570371571 165618253 199270757 473326656 177080152 642889448 384685929 791387221 382121316 860337124 506948730 250388610 424249131 190847063 600998886 873040087 651813537 863727696 223491809 225482453 151523634 985264852 816423599 991938002 350235188 955172206 810647886 342887808 733991521 615606812 429952789 203244593 626909808 539006861 577571160 407102427 340254608 374376327 163468256 730245732 354269532 818990362 367756364 458896142 968678079 336830141 130141130 984611941 801839498 933043156 344401608 112712410 797041908 814735069 290715869 863414463 553504499 821664260 172784708 722304331 793601119 191856998 220712935 381452668 973403381 121526747 538723987 999625464 538228746 943642026 151372348 367666744 843237050 510408109 119239076 950631464 606286990 580455445 439570141 117887587 129041378 765065124 646661423 764136738 859217116 305238238 480405409 970681303 568589593 436177252 352884627 300526768 631768040 283537433 182289447 133796610 939798237 685290664 650561564 182666367 489234920 444588547 163601113 464493362 598224822 425017246 978217304 112076248 705558331 622674447 936205840 846618720 389154081 200164646 595554775 308233864 506140698 898947711 938687952 465951970 492857196 561411677 877909766 953205959 877760229 234711333 850789800 176131017 645507088 522485697 570763392 643453294 762041896 578387311 551657438 731123960 683443035 137463974 637622092 828736821 600218866 801579327 436010045 206549772 138019150 590125501 274893739 762974081 942612069 116944436 789692963 981028681 110623475 960646950 855563805 628722130 460392482 940268921 859510230 494062688 120332413 849026706 320512240 922230675 550767798 911147494 323479820 295386479 383678733 281992459 616837029 277940159 792439637 973398200 213207958 146257950 766991892 449205095 206431044 259757098 997229540 293413375 925846156 788255372 131685163 244515919 191418530 112476272 838503046 684871845 973198746 946984488 260942366 269248188 609400578 288537441 153497736 723394845 857495135 665504970 796342730 364451991 375106873 602953501 671358507 736381587 104395066 651457578 998211781 837068538 586146699 897670811 840456631 870878316 236406365 508164623 932802207 822282859 590745254 799819911 895904738 657235857 970464549 383529560 295608257 451639661 373785649 989819070 816074779 503417881 139476415 181251749 348682038 714091474 806869088 433321574 179471794 794421324 889955732 391112193 771162396 128500465 618408816 692664447 939892722 471251259 717271163 399146962 268687660 912662774 109767255 169308824 776866827 904101301 905582261 106446582 954576029 723384376 549367962 282062020 100203264 676543806 269284712 222280378 100341093 242861816 313276786 504253151 497407754 368117089 695415587 699897832 871690884 935874549 142921053 197780937 681892171 675897062 914961255 275889432 439856437 903163972 493169059 809889553 433770926 668199428 188623161 238076301 327492833 583324507 294797640 765209019 529617460 115206848 542195535 879857546 522868051 397559824 491671831 633243287 647924847 812652055 897674256 430173558 366239960 531193262 385982417 115000762 731418789 530808711 542661365 688630088 650533603 229508555 487742231 165059931 581997465 999583536 856122273 845646718 615127580 697226106 117057176 173836602 317097479 936027085 856089599 436479692 931845516 357490901 112589376 208437901 269417259 646712050 950041400 120826523 587052894 521262154 932379682 244190663 439392549 843770936 365292033 490443742 139273311 142385381 640736045 760881320 109598116 244748094 990745030 671870063 718617780 399952638 246121102 654456085 155206085 566064289 148587949 161665375 761713526 301783118 950318369 156293664 571165469 661022026 965960917 778335681 235006691 640259606 961898465 896150061 323024300 989086604 815523061 757107537 666337113 656602245 531355934 834215284 388744617 658408780 425703429 549069500 138862146 375182918 617322557 890316997 218867300 588367118 452291617 585713459 582730110 171372074 354047648 933872218 132731539 284495038 136636599 117698784 209385236 634250282 443724164 934149367 992943914 432281552 983528615 189365743 650870135 360101360 756294216 916544518 835423506 213855501 722160180 436288711 156805104 497918373 370549755 840303114 210359933 934593061 352119627 842790699 461145028 325800649 167634802 558893418 961111052 712173309 193899263 857867995 939428822 639759823 935723229 906004170 750633968 580197421 894218907 232767898 448618232 510406773 686840978 814914292 963901136 853891033 732934291 169096449 503458854 365353791 413485299 142025674 877820044 409601059 576503847 830794376 470301897 705652754 124713255 478345914 894911194 355453355 662335129 957195279 348986846 797004661 719554648 856143535 808147508 966914720 936952195 150840415 859257314 199825359 239244623 304715727 285577010 505113690 295452236 835854728 774591116 213772153 416218832 636823838 700945033 711612690 942760228 655166110 208549409 750194486 866182925 310606660 228829264 722731826 670900653 147272954 103514880 388132976 349175246 417350452 631284996 834867630 219459648 366634953 456438437 937145519 322206228 133036273 133978780 609451355 894627823 709670730 514365423 326252685 604333195 185578341 298604963 632367475 265005785 748043929 824338520 529162733 276027875 283406345 738410492 595243068 395811212 864925769 776728211 820984493 148344536 739929118 885301342 100985642 544475745 675856921 729996690 487702054 991316234 674312660 719801102 908175843 701933453 505736724 651739095 195963132 870516573 806155062 292038129 913338748 606042460 154338607 701936564 479810928 999910041 725172930 814242555 553448227 695041289 515045141 340991921 254987831 198288603 867898366 365639755 668830340 484619697 470938029 791182143 335670268 479449828 619309479 684616983 769229948 617422927 644204459 380972177 231212789 561512873 431481195 368747394 583495607 148842574 560224918 828786959 227052845 294605105 841778842 400232135 449320009 553491348 208062840 619225716 678685030 579396278 905765590 654153080 441233965 838446123 997180995 160988837 536097622 835002450 143115750 810550203 668110452 534315653 311831549 630222515 436220586 633126886 782944012 359214490 372879432 759700662 581496160 251753309 142218584 797749037 800850957 945652081 539388508 529931122 273938035 488113937 315426011 539855250 233125115 206023170 597556646 150692909 292379101 916096299 637340423 528224689 951960477 624762645 865172864 318626090 875255021 795513138 160259936 234043324 851075043 868599256 914311149 405462207 118421513 292528001 423662924 233459492 576043352 370959185 408178777 869969384 365505087 505573070 816440119 749791346 818305889 399746960 718768063 583080608 240206387 709772459 614866006 571981979 455039355 657973896 900132650 296256476 817025262 222945551 739367710 970171161 281292446 419427533 211601312 174036114 384434300 119423323 999335792 742170079 371581517 408950213 680676932 918494505 496521071 658153081 477044886 440434620 108155706 705504393 477801951 239942407 526137897 692202733 476213619 459111478 827254183 118303436 141828750 208942628 759770709 668180071 416395896 655888729 839038180 937070811 438602339 372595678 458234818 437167627 862401009 339333361 459601047 324459569 181445571 848568082 747291759 549723149 226164776 912892195 890912929 748663227 584840661 746810756 853233216 181792090 906064573 183630653 248842472 583916142 140839122 434718902 106438780 563578420 879966065 957431509 874286461 485500049 324418081 873703493 299336698 307543638 125381031 247632812 945402412 953613970 969598402 833154932 684167703 855906557 722758511 679692035 288745219 902584274 765702886 648129274 450384663 334718154 813465647 912497399 830133372 297821021 316097230 888432131 761805539 224602458 987275538 397318318 897472589 776448970 897401037 328261142 761809431 216676096 787174510 457964007 227198673 805677467 278511058 137962028 362038862 101875291 543436446 199068735 347686165 258361471 482591419 347057603 733844101 452664786 367560064 196026963 900778137 669756418 966797029 620074905 450208107 344398515 960412503 269344712 355646217 239194287 845647267 733289475 125649084 583703288 591408007 902733970 345545901 969355350 425183288 854386734 688022005 481483909 534319765 142496563 205037907 442386404 961804392 400905129 484825979 408982168 690930990 598564679 350053074 589639681 498544893 951775657 873109016 759961881 359938163 829113610 771591825 899550175 470610138 261178978 583455923 431518005 152465664 945935556 292314906 863064900 131021501 300941249 740256016 435889858 547505034 608495006 972695658 719792804 176876390 264389150 913788658 107950036 799262153 390251955 393581486 555818471 584111788 401322907 210527933 135453166 943972038 941979462 282752173 115145766 321229136 238738026 629165778 525285933 856003939 335490236 942645849 254857514 336583060 314315154 442380944 450977123 983162758 447422971 460735848 119054635 189010131 511434696 334906109 371402324 859003490 102934601 874854850 404344789 263595925 317952805 881737365 397340817 872419255 372376316 795097503 158249777 840232704 711267953 372169398 663389500 289664580 392596249 111215199 163465450 849900052 349597311 279301464 177440774 632658659 672252479 443741169 397447119 417497142 243929975 955163382 329012369 537823422 847918100 648676901 904375002 708306289 909803011 515672406 817368069 856716672 447309008 210404183 847217857 686200788 286409765 666853874 965447626 372682559 894993866 707075702 495977087 304239774 390366164 951086190 111111632 984597543 586871043 744000123 662092000 640990829 451509669 209292857 149108875 449930887 286525156 751241383 588546943 235995980 444399209 980227631 249973654 561781976 408828246 621211308 475437307 810135993 289256871 339065597 974250207 902046564 747008434 562005269 224545857 403297155 968693079 999999107 318145587 517922273 465357058 866488108 342828973 825664633 342442062 714367001 927758561 240276673 447923032 145215815 923942624 754265511 841229443 784065653 945903909 915049239 422888237 249367312 833058422 326750145 679835693 688487295 280908187 165107446 218624332 433019009 300005036 973573125 348866539 256234837 368053036 951772110 821092237 730914173 960556178 698567048 715755948 590040750 802582625 754213278 454314659 625873928 900302307 486964633 231896892 843520660 315999573 697526876 194591964 539784017 863480432 572384510 977672734 697724668 701175608 386088122 101532957 584974857 879352645 166550852 224886974 627720255 936756513 605630914 968938022 707051496 483002641 392080455 510357237 651072874 539084894 503144790 791470743 799130200 361729123 544383192 633765929 459969668 328130381 173036098 497628535 256343891 416481655 673264499 141569060 416453946 169677186 331757943 178851818 503976733 595174932 702488603 923595553 650156227 676473104 405747846 471462669 961532861 298173548 981221453 491949213 943869057 383626885 629126612 492456650 270994777 375598037 647751596 445316427 539063991 505861430 517629182 472042651 879960568 396541385 109178830 250452385 768507682 513852686 869909376 342013918 795427710 449005383 180006360 552944983 126043248 588503776 237597830 533691595 460607206 969673788 487012300 720279124 743686555 285433800 699985362 891065529 553902907 601867102 456692824 737265629 170855008 873059821 526319396 986622729 258742837 533822679 996482964 371883568 800443939 395479729 407606314 563241373 310253101 974989257 770277833 960937008 363455209 587356837 154203616 600487277 835586032 918317283 923497261 925643620 782636394 507683911 294875152 964934136 829803747 172778082 174417790 646397924 163298042 820785390 492521589 986692675 903677484 191783686 397144691 403750097 770779447 320672843 365961435 634843813 767390938 628936118 399452686 744734591 249567756 564996377 691743266 650196526 268877809 158844229 704944199 674179124 428613925 409602277 915221852 320696728 475894407 469578102 393029991 716609543 353023265 293361583 924498137 621575827 322592082 693592296 674583183 632357771 302388939 848832347 790466459 747173605 491605002 686110275 715307314 932107934 535175330 425451089 690315307 131089504 106352782 609448481 241708111 167629453 197099827 420320322 904405263 477013161 485446236 370023155 529266520 180017891 936184552 559572652 117389132 712589623 530110234 167344105 656217645 225975794 733432863 643353953 791643604 263978941 447620109 698086206 165460094 871142064 157443550 766161679 666906879 886028978 559301223 978095650 327706154 139658164 107582142 298937359 732813600 637379172 355555385 450712201 887278528 533262635 395431582 412630101 515401605 552968304 616117095 228662588 112568539 164311602 388308156 623217008 206151827 218112212 107028336 834353472 413246179 227983531 745382810 339377252 386934860 981221595 938032144 257301759 750598198 674167619 387946891 251718319 558513574 397913754 452160408 303568692 307192172 712002937 474950006 292145862 911004105 145589286 444546126 997999006 188784275 377799220 330953645 491185578 230127382 952479860 678117817 670194124 630205145 573793482 382834899 653561500 304640074 890553409 325636145 991523070 919550963 855967553 299977616 185221210 521267227 648464335 160939846 911010273 530167270 996311726 694336266 388405221 284984236 399864000 354319067 784435131 935693529 596002367 437280724 192807081 307731789 509892311 128210830 262413513 703891226 913139498 360543025 617035931 870683111 859542691 581315817 896272553 134331177 933562795 137887566 799057533 665595360 101727541 664019261 258223328 889220764 829741082 954937082 131766051 625047847 842299863 169023826 596747895 951424781 262941832 345446889 527137564 668798877 241439903 889908447 669692137 686923314 343883768 429799255 616500707 416729835 660681756 991640072 145712603 903453183 345484013 516589435 573522468 982843271 968786573 773769843 887376120 389034100 988661817 168096170 448084553 619379619 307155859 143974559 564818754 737594753 582744061 305777900 158445100 369333847 697545372 520935763 487705382 878805920 179240173 551383187 742026945 132025240 590340544 232787143 213481750 738363585 268703545 512490052 987967733 461408573 841690400 975389553 299002192 463825933 867202966 278592705 221748386 472864576 835037732 236354125 972031728 725103587 662886591 392259546 637449381 513990138 940169927 995737320 346590020 313760950 158914758 400838525 862922519 662350847 142659888 342378654 649019387 109616957 415872959 177372565 840529373 527604381 720143949 453013995 177219816 339683688 144313172 610264351 161993554 202228070 122466170 606530893 375103378 111672341 202109155 656389450 412199389 387328797 829658757 961392693 161888304 201838100 928523460 756470866 218221638 790428697 625859700 683302004 380408998 810891674 876427980 930720781 639812551 793985765 720498032 125263996 580224254 885125362 125683997 592577074 734117266 392214181 414236734 735873257 181048993 539589276 929352649 351012442 175679089 771235197 426432794 348616508 558480067 641183947 146426108 716313709 253768883 154283368 485356258 469324838 265943626 971251644 803311741 772021945 668433822 675775622 453969175 834548133 442998677 592359370 450247249 453166577 692467212 198413434 966184807 855230840 777903705 341034574 484359329 896992299 318570789 730013685 416615995 381553935 378411133 414961025 154281295 534551969 166965507 330400480 351092370 651049127 225209118 404512905 107205942 382430273 906803529 298480580 333251866 486118487 276768788 910846856 978317886 425380339 532987829 699987886 584840748 340617325 738853066 330099031 924037844 839244218 752800352 849559149 763327951 884474226 989001057 175698861 889262487 272613884 181083286 403940316 244353977 812908768 220119608 302100764 483166375 383566672 668051214 136448546 961252690 509455112 237964679 298714687 176757950 565256357 885122175 260657781 475446125 282402220 424138330 766759711 305718459 212957669 473639744 781364270 777677609 738162629 377053312 563546445 965880861 850665218 432273340 229864142 551089583 501663528 315470791 933946033 222706716 795789244 884201378 796800968 266795760 361267112 163353301 839218796 474545541 629595169 645330424 269360370 386669006 634873582 441095206 978745482 754082144 516727843 887459232 839805402 619656740 444673387 428668136 689420701 238977401 296799808 517092421 467469972 483360424 223468710 727024628 938687139 148543247 961315154 438344370 697148986 789427222 428341327 716114975 391430928 614189686 720479826 141550011 605543039 409019334 645096054 149611941 997594618 427316819 328002523 274655649 891893099 151281014 796918415 393283896 749428814 185895143 596255584 539599470 203535411 321261087 532412193 508051894 243117812 658454296 354020783 845053200 191411384 647694608 579013768 469024751 423701478 399611571 629222018 785642404 863898275 840044460 501370524 411931113 726263602 912663301 854081850 977869163 406509091 505009025 959344138 977385502 768481262 652848605 127308847 840330454 112842690 605014822 126381540 290006492 764034002 185260555 606116409 168559378 823847096 771246577 595488321 364523985 635729375 633187533 935138774 628890888 327067193 456056441 179468487 650535143 568151176 112075648 558079500 559429935 487173008 371663430 624700250 641119712 889101707 392151057 860190641 962323205 572359152 718735220 482995766 104745846 294730791 401902757 235322669 632639742 157627671 288140038 899695751 773464386 379204982 536842721 272007106 308411061 777931401 249032686 705463584 841762564 958375104 880306968 255665723 278783246 775536079 620424252 838907860 342779524 247613960 941058406 150718508 913841317 819107269 957330554 384842967 144609826 442527169 547296093 481261263 885333856 542388518 801408540 252661632 206332402 765884927 783756601 902403406 300548281 743223333 369626903 249261197 784862018 872216500 523012853 470399048 617362212 346164375 554652405 802019555 710982170 223416441 325723719 802781337 380895920 656934733 448248932 386057234 448586450 174929220 263228158 979549810 283595239 837419260 212146739 369950534 222769253 462345217 311247944 343447520 477802462 477999549 573408918 563746351 194882291 800488418 575547763 414644963 535056348 444535245 154668858 545792325 787252144 628365911 979998006 741391402 515582016 843477658 857541240 793741804 549947705 300969371 680256482 179541614 102576911 840056378 295253069 346546901 401707915 598782308 404808263 340792746 559570497 425452268 457263533 103548906 345360213 457353429 918821610 145733338 612560103 330667738 655709848 871877438 947046393 877707284 975274520 194573802 139261064 850810570 482136279 781464367 363240982 866593600 403453654 515765503 140485510 204190253 124792399 770021038 350543756 226159576 316468398 505959856 490304959 142093221 533925237 115344269 790680706 192822537 725244852 524269104 178748229 753550567 543410805 416950256 498046534 567490594 554038266 598615610 275088634 925622042 403952599 786980904 402831704 208836292 137086625 524463031 900325614 848554413 704094919 274503180 685686338 642861027 948383067 513589273 889153459 176969787 820704993 492296444 491665705 553277526 843939949 322717101 975909675 698602671 695706891 292102675 817207394 199757534 470224616 642348663 953951506 848384792 597343826 219872562 130736162 344694839 853262860 574694587 381135629 880614676 388741119 301045220 790954072 787892452 899913801 387622286 720706950 787132831 952806730 983663852 474787193 118407180 826106718 559652278 272374223 772615495 804306186 616574133 751327414 758379024 506468122 376982526 644240804 684568964 174624974 903083970 295743869 458155776 714331442 375260074 516815422 942465049 588742613 619873996 489263163 147376870 192677721 416029032 548945560 329672772 954955149 226833350 767095303 821817369 260632941 769562777 666904990 679131615 900666380 239668228 342030920 309482479 994258248 457732267 712045830 701549700 455534299 116991625 852534041 280206512 516715087 685602127 798284689 930509888 296210433 324125241 496338958 124448881 901329796 449710155 995166969 153126949 168707271 905773250 766599833 437944952 608798907 390603190 514521830 414178660 268605095 282647799 306656591 507458198 740527359 852548346 366851046 221821281 689175456 387860618 656229806 509610537 212862354 584743307 754949939 187380400 863098530 669850032 642005738 331477698 672852669 861039270 821402253 120160828 278336982 977585726 410947412 131384216 312346779 948769540 929314444 617310128 284172149 600985267 284473623 610933645 582730644 756480499 402325309 426286469 648615456 687721698 914088625 705639597 421053254 351167346 482344473 628650376 191265430 204251463 858023968 248693522 754961233 412218965 148808823 469882181 328807385 686391688 162174909 331357680 317670843 628553556 939735804 794781038 655424276 140153274 204849764 382222605 120394761 859796572 857942700 876071833 270679482 989455771 344378646 117811240 634531530 214756859 601463674 522785902 226141591 609243904 861773439 860978732 656103027 344745753 402304513 691298278 442792493 291085756 456358831 928714590 740970174 514101474 357289362 868687386 102209645 984356309 522576326 856703042 397362141 637532252 731055409 492232943 600149691 295010489 765675769 131325774 382463076 950570153 443765633 161952919 416145907 412590693 484801081 550620141 114573364 298165220 111584185 100001955 522348899 931549067 442248625 954331371 434978739 574240204 749298292 856748781 341309033 872785895 332156327 929922636 942678825 775724212 526869758 819732725 796232424 636604845 599554479 552612498 106117449 240118117 176380549 249000500 947063629 394233590 123930177 523209051 706564628 800739535 219222812 785639540 230636438 959059271 488276724 657082354 175074637 584608355 769986048 201245008 832094445 342493783 917124568 674648708 958597706 505151161 833388762 509524338 294609654 178956500 443961057 720263925 259361725 734119068 444571492 927934672 970440894 730802694 593070348 209355861 573817169 160661370 553075224 152542228 714169599 899848315 817738533 559731707 823732000 443327553 119250548 734526259 427544384 837336250 658477331 612049912 282046100 965971919 184485426 700382172 491774518 844923685 707303230 998746080 284115772 391267114 572783828 294962167 785634705 955027497 237518419 746775639 672755998 122218683 766953124 316794870 610150611 777725217 812671124 237729885 747175887 168696158 879226337 355145435 814143541 154677428 624703027 154358584 143912633 409646202 884490792 823393747 770651237 803737466 507435813 578064746 647976438 705408631 994385548 809559658 992644773 519651413 540401970 856013460 768015792 676790077 240089739 850796988 398468217 414065366 304841911 842531632 600413917 324953425 127692323 167855434 573689710 547399543 726331996 998937792 469296575 316277468 592977458 471070276 876067787 600196460 681313049 421355658 115465826 588025630 263984665 461703016 534251225 885082851 991236932 563240542 297501431 696124219 608953976 582609746 504070118 446226314 302512696 244714567 953607173 109880376 347092725 493867348 137188537 244240140 753262377 886768047 641478042 401638467 921806398 790947421 444582809 400636578 438230981 462649386 117054302 100095530 842878737 483385441 427091597 551588967 914502817 407001567 179808580 585597731 231037216 281981206 788874008 851121225 460471782 494527010 182860782 906553230 863180408 253387608 114463334 937807265 358779933 623678739 738920815 557299946 642042170 702744743 632286219 731742264 912119148 669909060 742440964 698519844 850253531 438632591 412760889 417853552 912964716 616819498 958427151 973680130 480235957 468278814 742872043 304722062 107623746 824672834 420278465 430610540 437315677 744576867 590312349 710775118 260452404 634627874 503925851 558858760 761971961 404032735 245828670 608386256 850837639 449030520 705369659 903661803 661352983 807578959 747801163 628241483 467953638 910603715 295543656 274530894 625387332 175934923 595446481 708387561 505753580 424477510 889321255 330476985 130345229 781097544 193277177 491325305 120596519 706167406 712208040 144848348 791381447 476501125 467090814 936762972 830485314 975481225 971412186 893447102 709453846 575280455 949320003 567887613 669169767 765943934 858130369 171229146 919793312 263105517 963834800 759158061 555361604 551912664 532353532 267958106 322819003 887695348 363083685 700675886 930971155 148133363 220216319 722589160 107607060 534265264 607098117 208479209 612122921 737835847 636679879 131742926 899959500 688626387 293565622 543987628 115689036 386496369 371037107 149277523 921641922 151225956 428390642 856778366 434745667 522510842 763477553 711852001 481147319 909129970 741165278 113527888 567631913 621739298 879278576 857613439 346876751 877806492 505077685 952534717 384376209 436841240 249847869 528332802 694898786 109196849 681703601 534766839 196165535 632943920 660817871 150838174 190143534 266620470 132578585 776270774 175190921 759795003 763505551 526331278 106910916 481696128 132622208 219966266 659700434 917190252 215495697 544214628 477772649 269442912 496368141 965090748 867077447 746427844 551708065 787875346 941014881 484447103 266632014 645258086 211171475 954502768 103063689 637230323 699716824 426876809 459859105 332695416 415876377 762061599 581641446 307194111 130936155 923924781 323110958 419234007 306334979 725967525 907831791 857265514 136763135 983340130 901760428 528876698 314333090 182129509 184750307 345818636 865055782 581160361 111447268 572094894 399142861 440839131 194846119 935855360 986901039 772040915 946780616 248341177 753174899 191968671 775397929 677557097 221140828 321300942 155596897 374644154 798858696 605999541 840467005 844899315 199664650 376775031 618669876 981318969 654973660 663996260 819994913 130178906 789519569 329190437 557723461 516273193 144347573 685351501 903252646 793355224 183946555 488598219 780820998 329075974 833166407 692542956 862677321 336926233 852925711 977806292 237106183 532168065 424632923 791176423 181713468 744649969 884322497 834288089 567837649 175456455 873911184 528506629 376190356 173017600 579097705 832782843 807185536 231321819 468705142 261469841 677365621 860144143 329672465 917782966 463501949 131188278 248133613 925991996 238803295 265475304 162763650 252588091 579800572 429604159 241513387 896056297 320821104 825734080 260754919 591275087 539934668 305806896 690572547 303070366 142061989 552815458 893173782 173230040 148202446 361200344 105728418 456145840 891737525 856010112 789062069 624127651 754727450 220638421 203562278 530044969 731733096 714481593 927553467 656069942 729484170 857051862 868105295 962609679 299221500 465278935 242243964 877413182 786831203 152183381 159284707 592328338 101268674 312184850 555251664 293826442 454836628 897808762 889965678 336812924 499834123 183640326 748296104 262308116 816870348 864758883 534041544 734633131 471417195 704468486 886011934 642429393 843109763 942773543 567181868 237761387 576426903 916970553 670665421 731667119 117047983 321107719 543401567 452305833 775984891 412686958 642961393 907583804 847086225 948355338 137876351 643412284 385296965 482255888 809910930 857337800 749494292 874783451 425219723 536083273 752322409 235045791 513721207 563069336 118011798 520325189 219638755 975566783 405465413 868253932 173830615 692256853 219976558 113687421 926957164 233696275 467404385 109805261 414847971 439546864 889585157 807936990 602071600 970478440 810326395 193088342 783902110 663625604 919445265 431673407 296431899 294016735 702065325 498876706 748450452 193598351 576823114 599248153 324590089 460496950 887888830 842353325 346232535 854303113 968264476 148001302 269011111 652084890 241485310 188834447 166350864 632929354 379287093 828863359 626200783 829318426 568146602 882369239 977123660 495569293 987786289 357363042 404803070 629980173 411361482 650053902 106290660 234220493 317664475 584150935 158574166 721259746 180606654 773701967 219108067 323318886 238205491 706396741 963350683 133233263 414121513 363914369 985209652 356228107 654679817 734746044 956175838 892867540 837901251 774232731 939823478 796329376 498102755 208388734 553488181 383634007 938713484 361559002 596461971 102966573 557874412 256668904 504742691 355609509 670719999 625786710 955556018 489200290 554764104 189695542 814967936 241794160 362777448 352978070 819465165 748418178 924556598 877756409 345035440 581929001 188692798 981492364 423222326 555602569 225469337 994806526 770539668 468367010 401201573 450522993 142553253 585307970 828866406 498753065 438432558 765501503 475322032 656961220 279135114 852553658 904178535 640907052 485766740 775066435 518693023 639655424 120843495 930373430 959754750 785288751 852901411 977455767 917101803 295904322 676448415 116002328 493471665 657520519 477235223 450746932 647772936 871740389 101913247 987852473 712071492 491351922 755152541 264425809 541146028 640945643 710823096 881587440 224728533 680306759 271865625 775409160 439736744 931920472 315511657 682258752 442506725 561032583 429057011 952910296 529471391 727807077 549482807 143537081 146812252 784922265 473180604 806484495 751611668 815111066 491196622 365925900 683019467 874508598 703450301 809906753 622655585 940427026 740675525 408691923 434087088 572686544 860096460 148012397 102959964 888317207 819122070 852572970 586096739 168067328 375050370 817191507 179399138 954221600 218388904 362707107 471408664 644852714 189090377 914255908 890362147 855240467 566219674 431048349 576374683 226638099 919134341 186776316 391031863 979886913 177882144 107013082 995274086 934093763 932848524 187727839 830631123 614590396 462246403 731334073 121342179 728355209 345701061 641136108 967874173 657665287 675814750 826533881 278267415 387668010 912224463 957033297 539701554 316783819 408724621 485926204 422606856 658373495 524015121 925301665 463416610 998245219 193432010 133950692 589751288 916080983 925392915 618073482 580035472 821731632 846884303 778427240 503906621 933753993 285936917 111336697 785075533 856399537 206244828 855586597 961565614 801840459 616660352 270540785 634535481 125570863 143465109 931955816 318885297 567782705 348859041 153912919 228898886 440715587 420568986 789180728 918632391 483074538 241518275 427403452 264826013 205134336 624601997 297615789 803158921 828133577 724767048 324069160 522852883 432828849 554470173 654131615 885601346 380592797 355080086 812387823 402527347 890627591 805565913 440592168 751377830 142001900 526747440 152909037 252621981 512929161 131860109 985218392 763756359 358219323 966663881 147071283 858019994 135590595 113128750 975403511 355506845 380682592 344692591 983302079 952202722 546272593 738724151 458021842 259552839 424794395 539342132 960547576 367135065 214213577 147570442 151989699 377412994 279878361 689664481 325038227 362234701 638009878 505247857 123293150 918367502 482517882 599479218 968571976 889012018 684189426 605894290 218093152 683901310 165369959 802844123 829126853 566771074 485047752 557557508 936573778 843456613 331305753 245088289 377108144 546637734 649406414 525351899 807966030 236510987 857926024 331587839 744620015 853899642 630003343 373954114 424376325 667970242 218412675 300634935 153525536 727066452 965641545 647914688 249284009 742307144 545519471 926282188 427603061 328132598 662141717 992559340 413669336 123692872 483853059 494693250 850842779 607571446 626439715 292440340 805697801 648469724 386340560 732617813 565632812 874116035 971908692 883193254 347695485 517501009 914783602 707283433 707381399 572948429 313953623 712379023 519766020 932452815 477232335 592523636 912008508 442665509 126207634 624471825 121207163 874772354 878181037 295897911 838552069 492050876 557582789 374244391 603143180 310400714 838478789 683707701 684032747 504017797 561566233 122699788 429549257 288860528 469819709 738853631 935145236 936280479 586594447 480841740 480580045 175465590 811060733 425568393 738935523 186627786 951855089 249906254 883351479 432166689 468359359 615896076 566923596 726260114 557243376 647629594 484005678 518875596 527076643 320885761 865667295 262152934 517230533 575654229 550192590 317063734 673508191 724331498 650384390 872817309 289770025 900781541 784049104 710347156 320244501 232234480 776459410 882305868 434344767 973397295 795595827 636996275 621028686 170743743 169190814 534156020 348426705 157502125 125550001 409224544 236383605 658848458 216658678 470130656 267272548 400434749 346340324 611340538 105807123 497163669 523921135 745179782 814410023 638252517 882728428 909046427 456264595 613731800 586224012 719959504 747305209 759796861 286503405 861188575 424477262 685073916 254895092 961506080 353368220 734271133 810861106 874129987 506167905 545762132 607487343 822073175 445615226 707461111 341244098 851313180 922527480 456287044 502177290 438419473 506011013 264536224 622372132 580793596 811106166 375209602 519297891 182019349 857208903 180585115 302629248 386291881 930067020 222216452 594117167 128750363 658528406 846487139 979184236 399893154 807288595 758074487 929801759 831711380 469890319 826574436 903316033 451927140 723659008 679638706 709370541 971528628 588556640 408066585 513718877 478587430 115550869 590833327 198708788 287163505 454722930 613936404 242719323 110780981 135797233 943563477 481103404 631355735 540481905 566774733 849451952 134251823 512459359 990994114 667375667 402562868 654627143 809116725 962210571 386792890 656728067 496398636 550688868 436266900 263875518 581693034 393261434 450447712 372346764 434288633 676518035 180766045 688589673 146462106 458457078 735483011 224976109 366130965 837901861 741148168 997961579 153940995 717542570 330334594 203640857 682395155 166912940 427355560 605710072 111988159 193060595 381034864 963368647 598598273 513383807 602436045 766161915 833879182 280759947 183509184 766467392 148442059 377196407 227820745 462474720 834494802 922887925 142965064 304041167 618892295 793812902 549306303 482852391 338312786 787494920 226921736 192028555 720673157 977606021 192708454 355322147 923687601 770165923 425294023 229221762 902848911 952092232 468772925 938071462 198851315 570180316 313011470 287866854 172813193 186895638 342548214 251748603 896591428 943886227 843424614 262187386 251492645 832839740 722327333 851119121 277756411 239773092 916459946 556843875 263267619 349759343 921992887 352472932 478638198 185355304 399598808 843703251 783705121 769726713 913169182 714335025 982998594 191890768 726857578 321159172 770972809 466179132 755707191 911225848 998778434 382978928 773858545 106433074 996718324 366204985 865600282 298528176 377240300 441524636 746180258 640507885 710015119 995403830 450121814 742510269 668157202 926012747 546280301 358766016 371824664 761809411 252427101 777651522 384475890 445064470 984319841 702122424 544019981 863353952 371366062 222215015 473044207 401386479 924548986 120521781 441327178 678598631 866551960 264280080 200663357 905882956 648982481 763371977 569343923 170996463 501712087 387916438 358611720 387303736 406286290 877761016 104708229 236044706 477830049 279154770 260576219 566056502 210882406 668219498 556877156 518239182 383815021 103289614 331677410 766780198 878942900 172823772 894276865 647989829 922919222 413228226 499657331 222428398 342973724 296859354 885507013 868580429 911617007 298972732 779880010 164573444 290095574 527019441 693936865 976434525 888110777 207126238 201213481 529085688 181269324 242643457 164110868 317760437 721517649 287983288 965179682 492810585 682777264 528741002 523806199 701967723 381311100 234451212 241339017 334720131 337117226 880097076 843935293 191173792 379404954 818877764 952469587 132899538 465983132 148543851 176261109 378397991 495551838 416324756 129245654 332364722 388774082 767362490 417675378 877309197 364848789 356517285 675254909 125661792 643248108 291559360 942762407 363864464 634835928 818089498 580927110 764521963 143213977 749243061 166650351 764886199 716679509 601330430 693831162 558994470 212006150 890994960 211062117 130263068 353194954 916480698 854176100 715504147 456904566 421667991 984569324 325707842 846231666 332423924 240901660 539388626 525300078 272591123 660054356 670413767 647668403 696557086 463881967 908738819 835431457 259976565 361055314 283285573 443022302 627047036 682983900 106271229 243328308 949677990 595009268 244556063 163219618 836926710 690329407 108789493 730045985 122268749 220830294 442000848 753127023 278318867 714970935 174045287 243385091 137032483 593421552 309288405 654677568 353475790 241161812 459336087 791755266 290835922 868052372 328754512 700739202 866972363 840562750 895969663 273544987 615266945 713401179 221640622 480091986 109233467 876426799 492847785 212270221 652730178 666782465 338141622 864601760 569217776 432897952 864726812 569019872 820702416 763526721 421633203 680512274 439373976 291942230 397621071 760828765 638167787 844959530 307617292 127917817 304655225 471688849 814976733 147865986 387801701 447889260 100411838 676780453 344660330 956155330 490187199 964134539 339508009 349648021 270171266 971417055 828165991 210462459 518479576 386113084 261528322 172321568 137701184 450120294 337981474 601642558 100167277 920880524 548558067 766332911 112583657 154245404 695153070 312689247 577302245 840019097 632822660 153331665 179295894 644773193 369119037 907082481 716278050 426841693 530611558 718330234 659687186 416803979 298928442 376104667 533626723 356260351 855344013 826133059 346812619 936926986 749354386 465240777 764117839 776033969 550212684 972757609 911755723 971688684 508364085 604989298 761369126 896323961 568203450 103123488 151397148 746675509 576563889 703372709 461475924 505420413 322413391 428648568 899163410 811169512 829568734 200084378 398012064 315158781 396437187 552389481 971772943 927511635 810803552 516075883 250339621 192349486 938891569 618588378 720311455 887672399 218953779 981744645 824193911 940382870 559067354 669980363 741044799 618605055 496152543 609024192 326178814 250246160 194121281 385432656 952938976 661227345 100570908 815628433 279232315 489853094 989433446 456078958 601978828 215252044 541659059 625332628 816037546 853423510 295294359 272270147 195370007 403169521 870167331 203373300 577458806 354284942 490624948 246033048 897852573 693319171 361936881 451853355 157383818 752287878 752063685 995183470 850095143 336233547 289490257 490629697 540356808 728100913 202286873 998868872 846502711 831628660 962297344 801373874 431220622 120867929 286918251 783106470 513533637 570086794 636314424 596892411 447812273 870953314 973981668 203829603 873177663 625495454 893919371 686884761 919145291 221075941 458303258 405889100 480760468 706079715 314522611 139554819 668941497 808208501 894087905 781930469 349822540 765005258 328391385 881814937 634523594 548444951 541252385 183481392 214877570 882174877 676067294 154220519 863355907 579786626 854653306 622288403 790918230 710552616 198389078 412974991 175628479 815249925 494326945 245314043 759994326 598189456 727073207 741263325 855419371 185495026 600151513 484347725 535943955 346289300 910025548 842195131 625711985 477426071 301892422 170376639 151498219 271195647 243792747 197126762 565197329 965825121 219476644 495749199 333688353 630510784 283480758 217551599 131720823 213592485 166774134 686804244 178725548 586387519 491003834 236543474 130001173 254456240 829279428 644362562 197763935 440548228 135284953 543483964 443114481 541387749 127347368 332030788 503584995 880356547 582008811 737926493 406657503 285223305 809054588 888543013 809309066 318932463 805254139 585172427 352140279 795876787 778913975 449969736 491220097 871058460 529458433 391674630 841415215 340173721 226716637 772270766 844324326 747740501 363888722 190353534 751167325 696871397 868011220 554592562 887634792 318215356 877284902 282413956 244665367 266809409 447075832 165099237 187382442 274585733 717378902 625165582 249718676 506589481 530515101 537396502 875358885 831207420 881224889 815367718 583293783 836041236 659768795 428114396 864186217 776157292 849807116 347662750 493786221 637895079 627839467 869736568 911305564 136044187 142982450 237476304 787490365 676290068 700531546 480470725 522444484 351620810 431486370 163888065 466903404 661767398 811831466 144291464 221308005 360804313 483992144 369622821 593492685 133578928 180409322 779567307 694815155 303241251 182320841 722790205 354369502 214170394 535085470 550901772 656018387 167739198 889526973 215129339 438365518 320564296 304728562 394140212 165625574 262342103 588986178 356918226 996614701 131648806 355800001 376543408 403763337 345281918 336193598 589324670 102986175 196968032 553536172 705616824 880473927 723415765 269217923 547992501 590618592 712663406 671403033 673250848 231084794 341310474 114935914 735924551 938636155 994829201 409511007 115278450 882044418 590646964 822620509 373903997 221107982 327029871 411069893 902253664 229910207 598229461 504225207 712127999 618087518 241712239 340059164 537350293 595487662 936444950 169267485 613889936 713092616 273533336 829064040 858755836 271379529 687769774 617253746 180656910 966016536 698960217 409755084 312244166 192315349 926618010 927455045 846056368 100257205 277232599 502364303 789201627 821007176 342574017 999037605 419009601 441425856 983183154 789578385 692281900 873519755 362688969 914198395 862339137 830543173 652665723 778366470 373764136 485287485 682090422 397522920 462749938 853301270 288446971 455912856 409793293 980226255 559382144 361591809 994013804 734854498 564133365 870558871 557478507 797952352 497673240 915174472 658295249 439894375 247855591 912580383 979084529 454421121 460934056 561752774 162081776 523741009 411621848 511333310 110515694 523704729 686220953 493552352 765591607 995961134 802418330 447277217 157070070 759858316 284161656 782657388 544313748 315734919 614879580 900092666 158838541 855079946 738365078 980577099 933506978 962074363 689279097 266881302 244736518 661178185 413800972 611007913 861759804 457582681 180997620 652935042 649829425 389203670 510525241 963106942 579717872 870028752 956463947 937941850 859740475 327832079 775828133 172953076 324683104 739027202 119240698 797407003 934392877 584885192 419290315 540989193 123559857 364719139 610581224 403135010 974947050 166166734 487039252 157053804 327203845 973845510 342962611 495826201 108494507 643017563 824698531 670380830 771869363 235487440 370210421 251300110 210753499 997853262 307122038 908517045 568166119 200223485 188575828 330422663 382315977 111110340 491302936 173706754 601154930 632932639 454072942 819877414 671948042 333597178 655646238 692696826 895551505 173025923 785379240 335628347 306640118 269260699 911420339 670389473 335371675 447921619 257487819 431371418 237223310 118832923 241234394 726437512 680873650 664861911 368977754 929387735 343080737 822808762 537060638 983627689 539080408 881040906 112860783 598143448 116137768 901692256 640652797 318569129 821874951 372691185 200166176 996327438 688760622 221448343 335007966 213994348 881323747 918468002 819403104 725202526 221097681 711810963 692288883 303730410 258454652 498274211 166114652 822524683 680262163 888026335 591642181 610389584 712680764 473120072 808485469 680948707 866004442 561087490 852341331 574302343 511965822 605142092 968439503 340420682 775538287 459175699 399375879 868726547 906354470 415849493 320888431 268220318 705706418 857431142 638780595 283088855 926403709 422273246 864133051 390758085 521303826 933608825 711510133 247304680 139906992 386737534 763375449 357130448 277507308 314599865 981665063 174626232 653892115 596721258 591073210 900871156 890726909 203977030 226727202 919227654 200111753 112331315 269502180 200758972 610670848 921596601 820589143 804465572 129368127 347655108 524609777 799055232 628982371 226686170 518390396 800825581 928730676 507490663 950190641 379610993 295037883 972727263 437607606 750580385 462749876 344142426 539714478 819172715 461821721 966665443 213988570 585695670 226637358 477967677 867539936 274369317 920599606 432530074 492274811 475489998 745089365 308001307 306557979 757389122 419665442 758409502 934109066 580387031 509030184 290370298 110772903 225178256 475905810 367951205 625881813 704219177 697848191 310476266 126879602 550140209 929844031 538869857 806818321 176653825 236439777 196012251 988457835 132291310 881347190 183920884 637944314 571552419 896595478 651470311 392543466 568002919 447596127 923057742 199657810 570691573 967661139 874879185 167883133 559246084 639414409 347581268 360676907 489780358 232374512 558463502 305816458 938756177 858973485 171527602 973517152 643828015 588579634 366404532 719743861 585118251 984125924 192580548 150913050 598910161 616918526 897108252 747849336 533191852 913811708 537452478 641429535 504873800 361691670 495996317 360075587 898810758 263805312 520631761 232089355 531160204 834048637 930576856 686343706 345540778 835441567 812164662 318571744 873320556 171704911 856481339 902111378 113777775 242359916 576076839 658608840 229274455 343434381 292514570 334526046 302218266 557838482 531332544 892661456 996829118 613560615 921427065 908866834 901925983 527646277 501442118 907832018 432552126 746056010 688192611 342400981 921397637 723283961 624098828 340264749 913323227 832272129 721140686 834763775 512622133 909124627 354104373 613502160 668298746 993848106 519376747 686103060 866749917 200736419 790353041 695249118 103209515 998700341 146643666 119861013 738069786 831113637 840629729 162304703 696271214 403379558 846286117 295413660 437290257 668715654 207796093 208540548 901722543 713057376 868623977 746785106 326535077 232667427 700605727 857168482 981302690 909757778 396879213 890616939 288270929 951443214 529083596 237490154 868095938 893499200 203419001 412312148 505160733 366096468 206316970 882887143 451245494 284262970 706368086 589269115 960989220 550024864 731341788 308719671 638048734 428672721 760199649 383753803 361448208 689394190 100950717 458513735 550869319 632989275 451183393 201377676 545947521 480087251 321941122 357899158 504398653 386885346 227048512 340829129 210716476 862293190 437969393 163431181 186387493 652908636 198590492 877888460 301120489 524964327 528911614 783309874 403626005 976536023 285185052 304368915 871048713 900608076 618329914 675458963 163033613 335264534 841721975 380838189 215191770 730190097 116521805 895671882 184272896 195715244 605871882 979571584 204416987 787960869 515977941 435689859 878636599 901601741 967387640 412645905 298284507 527563623 153751297 126397044 603774148 418622594 284313738 910080005 501044770 458085730 956415523 515674306 849808965 878989310 603137717 870650084 729799746 484945900 397484630 742172169 621245481 295762098 840807225 121069513 770907915 506426637 534901746 786071792 980210523 200818595 364358034 730766236 929846405 956607861 456067907 124829538 108062205 619499928 456156154 322308791 133233941 104860882 745159500 634318342 490446435 627140002 742107705 841014750 469100787 221309574 400232766 200358507 754871484 872405374 657266116 387960396 190603848 431470563 339678109 905721186 259090762 826978841 919910398 203486067 648449810 111985432 579823977 793596985 627766481 697533704 773076532 912904769 187882886 763078726 385978627 251755881 581879296 160336430 863834632 661842198 839500238 234390509 170966949 590527694 762330886 209733539 224354053 462830789 343759650 726199080 162056949 704894535 663765545 628854462 353244519 292353705 752681172 289723942 465442968 265861814 887944469 841965950 992758358 910737378 504648727 400784460 910011394 702450121 389206299 124235814 142504950 504430088 576277963 303983854 126110132 108538820 775182866 125309740 393949882 572412209 697262985 347437222 366526803 100647281 590081389 910753847 265330653 357854978 523205886 703267263 331477837 535748453 362630344 766399247 862094991 492715679 787974958 737368648 258980929 517002589 456469942 690420021 177527515 498726996 542230057 987188589 718119810 841272964 591788168 454690724 212495866 608083556 998989636 303990982 860383165 760303696 936270036 210099282 584091909 789723821 994258336 335872107 598649889 451406711 486067496 452340480 348119727 582970133 696875667 984366485 171369946 396657732 631904144 388342024 819523081 933808887 463216420 885243578 905803818 374081189 736702748 690776328 357422086 482625249 999475599 278531030 997768806 533334850 268696941 519492277 515597448 440382248 181990799 666092074 746281740 841599785 477012875 687836831 335661164 827948423 260960911 923738763 192000018 392588342 914390357 371972095 664169589 793010698 526730409 811807822 974389377 271364678 220772199 473810003 838045366 541759308 493190788 736631051 247102758 322270238 650477479 800246254 193075019 437021470 363750716 419071152 274364276 631176671 767445339 295571996 350962355 661947656 538400681 300622244 713915730 356815991 807421597 723826194 830796948 154851698 503174015 254736376 238412835 328590880 686153511 802011958 873457900 879816086 784779283 307564067 500602235 148801129 193651832 753675890 783536024 221277125 787024985 956349914 683251807 163830016 964476640 600595370 525210278 310450229 455534419 214430560 114806374 813709237 351940332 892995308 812938787 561117849 431230745 762966908 785372864 492409073 923770141 888628904 838415788 750548123 900863009 911193419 932749262 842068509 968872924 721909367 143400140 453900006 188252675 464765655 236455246 278033098 338349209 959144493 837083275 977366249 497508411 960828608 693453129 891499453 621013074 189834654 355680056 338267391 708872486 486962214 831801294 391333126 869586074 883835178 775730387 523784783 578790502 104643191 647419243 772569330 960613159 960280779 297202330 480043730 140927927 426854001 985703713 515802615 102898598 835713418 219019355 885599204 175327048 646794427 620799992 266714129 778280696 819686544 226411675 666338932 886519616 827990148 740927042 889982953 477393260 382181637 925057867 764946781 951276201 302953932 584019658 561024180 400536005 272268277 457162782 494776860 244565806 939219059 320218973 307974848 428464883 208989814 400489879 421272204 985845066 573780490 314483920 531271069 755534052 148575891 459227355 844925180 733233724 966222520 420909978 836067958 754621110 647151805 165558875 339749723 683996396 221922926 634771771 747961388 966894049 255897211 854975517 844048426 702652059 946880331 792503270 436848352 552900764 593868304 193688129 630856011 337830906 979840483 215041882 619535369 648017277 226041931 284169404 347332305 962451652 110741253 548839608 916906681 235949657 844600031 482294742 640914370 686217791 249535887 852051886 235535453 498872798 346088661 368411890 944833612 882138949 170982061 352865050 380749550 768493707 985792507 432219170 622755916 334367986 693697402 397670807 762593681 733467629 311298301 383314980 624537154 277975329 678790110 117716639 746743974 378031660 961171863 411542165 417030140 320852223 956233303 267152959 209339605 653349393 527313518 132152640 655077300 554165198 736904881 343109174 954166910 193914922 325407728 655962709 583090707 361688241 828122646 990275697 238196543 404648602 519326932 434294294 974893622 208291328 681458686 111227642 338396205 314077993 755872196 366578342 723603198 173997830 624079604 329069291 526066996 795275420 763121089 547669249 442686939 839279424 653127959 212411709 358174969 385479334 330836738 161030921 175278699 647235582 347899675 610465178 594387500 596077502 417568117 852858134 232542852 219986761 549852538 303907708 865754293 404388437 916890579 224781857 599215185 881294459 593882490 762793571 714366692 873363904 996449558 190647293 461711365 630307439 140543210 117567377 553142453 943220445 379431435 931926542 956642428 349225669 425219628 885877807 472702498 211974743 420484763 813133877 909201552 556652653 159137495 609449523 799374218 988658883 237606669 576679997 847593282 678060225 750924449 554598505 336892436 244974841 153165329 982086038 705409812 158809584 623284229 400182064 444734658 734216577 295857310 985642260 860142032 384064223 635939878 834193808 420209061 405696194 524612758 247930496 657059247 111311938 346922555 873178286 290690288 825244141 542770400 998400401 444414086 854740110 202727226 794831477 593913159 197168636 333034305 945322640 752960712 675408175 285204882 286094547 150862622 699768807 481517179 324398530 360580801 515180571 767307579 847129348 709951170 607233586 445764582 505049263 638008325 639333564 667949338 638590261 484343471 991514042 123420040 253323654 408859368 169812709 840346042 595348647 807017098 827777156 622977240 665486937 730317939 156955389 282418471 303279565 697401537 210126008 166957788 230895791 780022208 962593307 749519248 636976561 201835623 876380244 738954120 199916685 514082527 240100174 615229501 860307935 923351207 963449975 282466961 342502750 382501883 468807312 262254156 449408587 907651611 178900258 620238122 864378290 326274457 529400574 765273600 749072441 914931893 400002316 991692697 442008829 828759848 327798527 536656751 923773795 379377607 152640521 445316281 640873233 925649339 559507403 186700973 559450080 526134729 671809677 633559009 287709372 358321266 708855456 389516983 650630910 274707200 335353178 413065598 374292265 913783132 770751160 766456026 928275046 551135414 809307105 869428811 766071184 534418117 377346227 896782655 298523149 292734409 492948012 688348173 894626213 684503503 828238533 862927721 816384018 341711192 134805376 709435464 103940412 886233292 656374610 590879221 465288379 910614224 479119609 692990209 141891174 190080854 754896518 174117337 478494735 606694811 951613219 867063545 952739377 788681094 363898380 500663438 727737050 853188466 922301210 382468411 182445308 578048686 554126312 664516288 288112206 987939213 142984930 921254973 575852156 340510701 640712921 411834524 833036058 726598971 696761436 959943121 602856474 177806460 960327819 518873744 267162921 596160064 983603311 202108462 466085996 257841775 717116236 489733157 602006543 968493345 328465535 315362722 337451397 119374801 258149426 303072627 615396397 646246443 369401452 554606898 749671400 649372943 439766628 530734618 857854360 622333196 121805554 433807129 731502585 200425871 109754908 121322313 454480649 665197240 164575713 152708405 403687944 726399605 208532878 731489057 418416190 468279280 912636435 782809863 350889263 697936610 653220712 712207917 417635703 931695379 802166514 450073160 248788243 855373437 655756493 926640741 558755882 461052713 717716295 276158047 691368811 684175741 388065859 761563952 474513320 462345921 261568638 916283374 251866886 235527771 350604583 105684713 783369093 425126753 162808007 201295537 271202616 664932065 103822642 948894532 237220565 662475327 673647539 920994427 759808772 445815040 334971106 478448942 964558606 696502154 919179172 735520141 294172339 993055378 617621695 535681994 403617866 545376881 111620559 898214257 612564715 378998676 845282695 425222913 147329715 456288379 247075460 947144793 861574780 755264563 385014111 838466925 782459718 181919323 492195278 866982731 842388902 373601881 634580971 801719548 845664452 790316091 894493579 297447033 352678357 717673107 945670291 401204704 501580580 762011862 574090149 982927814 911288778 308700462 222223579 759955445 159976861 304850221 854052965 260550409 941266222 245003226 879672564 648813203 237431427 267531535 360926390 184277266 207499841 872107799 168371074 414851690 199116468 891668558 827943937 315782085 793532946 624986932 275350299 187840603 356782107 515570685 852305594 676839137 817752072 862338122 348578737 814936624 621247173 649240906 616022964 152929665 743881489 464105459 155353420 974157775 934003645 784026153 626073563 159951899 370278125 720219494 589101997 369355539 809847404 173681948 641104996 274007276 274931665 652909831 686854105 738733974 251772579 963067356 729960677 150720277 866261567 914316465 617603903 735195310 215154711 105626835 705162718 605570612 331641828 630570421 771570193 385569288 462411474 185742694 590762821 727914740 678690218 456101902 379886252 595868565 885337744 411075685 982623369 486656731 121861479 995351436 763426480 825030345 851075967 310426674 770255580 419872523 220926555 168938501 887919173 284814167 727085404 901089274 513300593 156409106 639280226 637970609 559785261 360109711 903043090 892947087 528860921 822504580 175721730 128246278 991282456 124290289 112180980 176662840 876964575 905233740 498824364 539839522 674544057 541765561 962081902 542677956 244982059 121796040 273538451 160889263 207795960 114095031 576513549 995324671 896568334 187407121 875494102 405906010 798492881 512413994 538918566 533405565 695998142 332112785 928768261 585175104 716370982 600428024 589638581 793485873 518877880 987050360 943554703 785135619 897230678 929841655 827533332 385045755 234013652 881191971 752593617 989144745 381858858 304889105 738503251 678259060 907485287 480784116 374627566 441546421 134718817 471411722 380065400 387286950 805110231 214796258 132912005 128867847 125470448 816546441 726117532 649066394 153963609 727133697 661775088 497407944 334493260 477674862 340675085 309182585 169139575 905107878 842129727 883329830 877996277 679271187 912479613 833634070 548573030 585438793 237659555 724588325 627283090 137519213 460549813 398091402 453707015 534899841 374061661 778476602 870782881 599673789 158353403 676257255 154487051 984049325 136575900 504262863 250255372 318833674 709823457 584920469 214150330 813437119 558174653 555103048 931668948 801809046 640698310 606353006 225296660 207206866 457143154 199442352 197392778 852050267 323316841 325339919 634670745 422761095 511649307 974904664 802781230 570590475 931587219 910508507 229038959 374954582 797935511 400141844 161803833 352991962 419258041 155858510 427699375 299938401 450483859 743557940 765164178 520434760 815277602 788575384 522187942 888202246 736438877 682222357 427713464 266751874 467997611 894661699 502306472 895131521 831355489 783680770 477985891 814936813 598268282 449386085 385152688 832067141 122383833 655423607 223946305 486206382 506988092 431448177 435978331 350391536 599569009 202662493 187697365 328801821 483570633 172314287 273262406 716003088 587212253 419660139 395486225 122554152 635300541 286061995 445156913 267962932 439396048 163106156 259527855 248060039 320739560 787428752 639368954 346565492 201796303 420296558 107462837 410881600 335682338 664160261 608021758 226402862 433982372 832288622 405327067 977264987 227656217 748727668 107497354 703342370 653672386 272832335 628682383 809766864 755267514 253086999 300478559 857047247 246646015 998904441 183738347 702045915 844228593 325168139 861623507 904477782 713964242 287364001 149237050 442018558 496801442 346952266 744683047 132031352 340065888 743242574 335805247 439167037 292973316 837830344 796740436 530721041 598380106 270593540 915714195 279403294 469271712 667277213 557324852 521824838 583882996 332456412 736750989 600980554 983331675 696297951 825645612 864708198 834028179 176488797 351187919 154263009 878872792 142763316 807342765 455431001 202120916 397534102 977404942 705894773 374369069 938561291 420215424 164780876 465744621 175926879 820224861 701098578 452661363 133025854 840000314 709040510 902910551 664804767 591998249 815884416 381109197 910819913 806804158 700784235 368993545 205185811 381176939 453033342 100616657 980080176 679819647 990011015 942425609 727286769 409021788 630280417 244383865 366282859 377928067 156349478 402656363 739726530 263257992 314667808 112320260 644475334 887460078 478322373 674802099 802741543 552310882 884065959 539661655 672873782 278249414 426455654 500185966 252133173 758421167 230120557 402106330 497502851 166433793 391248376 245857648 778138464 647411746 488008047 893556101 415191677 679985999 523988437 858791997 298547110 215915935 297740387 617098738 349599679 522491619 363690462 260002319 319796668 998682356 656367894 824968258 261489942 668846868 603038510 481712264 869028951 169471086 917439776 306610631 714174507 894251393 625766095 845654887 109922237 549193977 731806644 369122075 826463009 828982623 970212945 249509783 350517876 287010836 643307399 548877252 802794539 723327062 658425054 765483657 765095586 826509852 952575525 365365323 406533732 785685079 424303551 255374531 191020812 767995541 882066163 179556955 798308050 562300733 317254634 855448480 582706171 100662513 405184466 343338294 540246840 806562502 931290893 386799728 453818350 405208654 509126484 213171293 704998620 162179763 430455177 857863911 376675738 919594297 641137446 174936332 772634007 251052959 818338646 227098936 124502217 365523993 323900404 941149749 959747726 432925777 573141130 862711257 325653935 142674484 939261452 622611859 299390603 801648001 191184291 623151188 939024038 117194542 134804653 518534491 557009923 764513010 323150781 509294769 526775709 954561094 720285813 613208554 833126624 261002319 341022697 892264612 553711931 372740315 858261525 376109536 241381059 460145112 484291223 781747411 141338770 159259222 210318063 126713911 532080404 406621209 991812937 324765530 811134860 965887213 930738597 139868296 365481288 161472170 924868487 293203076 875108607 868724379 868564362 699303408 206687774 669620371 363893012 366389192 514158322 820071899 221240107 970351881 424044063 100310631 541263461 879337982 235822268 336632392 439759052 715762666 733531549 434282601 217902640 541789842 696324113 307632086 367279432 329223896 176931521 249979120 502417181 907670847 592019522 482260904 813605066 759189988 156513064 899920210 171925693 611283430 571677650 359824843 931057205 910212093 960672019 961046206 548006193 724976023 287290501 179346316 708546619 751207379 402410180 996656643 178155706 871813579 811492453 934606974 110968248 775603712 806526795 723032708 232997124 145564098 656327051 229642772 321814762 795644111 476551711 974233426 335479154 888145758 198236047 458855005 956187745 858282801 748531255 427830226 788788453 639774267 310258701 835555051 316553103 263100480 620245614 987824559 251040060 832856782 785027584 678020164 633482290 720823455 976021422 690267738 471691945 436940638 411852987 436544375 844643292 177764361 670105890 990974693 159227322 761684707 123823409 925140497 569309055 684458924 780468914 409004628 496629914 263799276 281191199 248465722 269829760 780857863 201847031 638292629 799986121 524489048 737526730 924380326 118400475 294499486 618478778 911009959 374544891 297845499 815241530 770580240 163701977 917166412 446202406 293816142 466169424 711749246 559550609 259742170 419353909 920020396 413691408 937920123 513619672 917322711 670885838 874193216 736828091 499804775 513774927 111021719 869951908 139599519 663120380 337999710 452296945 176030973 546857215 331834532 307936512 387844283 469603617 974818947 475392074 491525461 557858320 199604773 853874091 755204353 805352072 335704058 944748486 572852774 318259663 387022738 313979754 994144753 963958127 132862116 185368969 526962183 593037024 965833569 193380227 123237657 594270906 585051279 628053257 555953347 724605098 389452199 943321384 835556416 406085208 545263908 570947436 226252164 405763512 491974132 193237866 438633069 627339724 798861046 899722146 521764201 288130107 859484738 591925141 950386601 702017318 109783868 107742505 860834055 858570792 134960080 789795632 998655633 357483871 279755548 689455000 590931533 269126271 572228733 410420279 727210467 139221835 203525891 498931282 645953129 744071867 970917081 923887917 733845978 391118001 276586160 431490709 963104827 148939344 404017400 758738001 863687994 522555157 229820909 536820095 575177195 481469000 351771752 275314419 263755745 967199836 524262074 339087806 576758211 388670662 335137374 932290618 805013012 840342826 644080115 254994879 438631030 260023362 309643992 519989768 882112901 797252106 762297560 149205583 472232487 284968995 550415905 549655477 174327653 959105771 927541852 794039645 572799270 124003471 558424591 654831196 335783753 130729687 346350276 395377068 487423198 132296687 914359892 352107906 106103094 232461296 357293288 665652834 227724838 260330650 396368297 856556835 513356013 791320838 366845176 725197514 502737413 916285228 567288803 515462329 226944992 733216022 993667553 927549812 623585363 852113152 464158043 186162440 333781230 387889713 542764239 909446299 560554810 857783831 427867121 412848960 653610190 210973597 917391269 946697831 540516920 873686500 860519532 189630043 504277122 220341405 418941558 165028781 747181671 322572249 818182639 643373775 977634151 990283255 723194104 587736452 442356483 763536718 865285520 969201214 954677701 473297582 129733462 646494664 800434557 148644279 738966704 390685448 721498447 580811835 471781668 687325327 782927779 597614936 625043186 775292138 385960830 111001989 510313242 696016514 980515184 895135726 626721807 795923360 651490071 260503669 985799890 703350346 800906847 947972714 255820270 489480985 714278777 700575558 720433569 433300496 744410734 228155607 734652451 690491470 452789042 338738373 153037362 955843520 453289592 938585333 818618707 435098575 872154960 462939534 932563116 239563068 896377861 714616166 360551742 204681406 123713259 735420627 186788506 174132614 460495950 302868549 571903212 794887249 152828310 805241881 376233281 960932212 557050260 550383146 878360432 302920742 352322482 332253208 431787577 398546762 995009270 201502906 943883189 581327095 724234369 864578953 449486190 739591619 585018348 936641918 890343007 849853449 933064047 393572006 612681681 170903437 384334749 215612829 214772415 733085576 831428378 426258955 298527021 200853015 105415130 516967176 203865355 903045534 159237688 826341455 179100540 832228767 763046762 138685662 258627397 759900100 594230099 275519778 919560060 243085220 835093433 336646642 727991201 903222696 595441790 175935443 201878203 129390025 377765455 998728952 762716491 885970704 547217968 718279590 945479163 135173049 373793979 545259955 985789808 437602663 408335490 233287532 875936926 997689586 309950346 518874657 883554904 234546830 331956218 170293427 396178740 836586962 429062596 455233210 966593291 569764994 746809148 330503965 272771037 997987398 724808198 706570164 769983596 789618783 389181892 325784791 568424775 778889871 976962008 935888885 654080365 133348454 748677812 545019419 820898944 564691912 279077864 332019632 962144711 420862885 363816314 161083581 593957610 859312969 239882658 537132744 850844618 747268808 968837562 617201244 647909320 503668296 700799596 859245191 654297509 694725736 333171201 389194226 452674353 421031738 747371322 584286556 615669638 928119217 247590517 495774112 978842387 542828707 180916001 570256053 279301527 387848712 390967990 382570843 460250889 665264989 331507096 496726780 343381326 450097531 242623173 251354166 790656357 240454524 401628513 589958432 538782826 838510607 611186211 178670288 669362085 269029783 302290760 728095653 787980157 221825548 948421203 993338817 648291989 175965192 332044787 800969965 485917379 842745110 780472961 618860106 683719107 690600133 323006745 395411246 583532568 505662458 385600282 123257325 737460819 105058553 775302910 297230480 766268597 967924110 350310883 375414420 302731851 680898940 846920080 536289967 706214523 205135134 745072023 760759844 970141205 883374791 877953816 376391889 294636531 198545316 217440942 397287558 306180307 312988930 677002862 574544689 292023237 341708943 164169873 265329231 447711506 269153663 369038242 680593514 124114541 544502744 480678133 128356529 858969302 160386095 924053970 473157331 828142941 109363984 395943004 928802032 109816296 683651135 258794302 217552826 291696654 222676333 606173105 341337318 292772577 905089510 949515417 490549734 346825156 508024972 876733171 315868111 896849940 144386079 691092624 615697167 481400041 114495743 470950894 131521662 302727549 544959716 786551102 135890985 646874968 907994838 905875262 568417953 261669631 868794776 496517454 223528752 870577733 967380692 252197438 966726639 492652442 166741262 974089680 378883287 103307333 729601433 914790527 655939817 158045391 470192129 364367831 244260650 463772664 891210670 596751987 269174115 258648347 802160544 624212277 911261612 959592362 518519504 547028380 298654856 656756212 961397931 233462135 902215521 714472704 484271881 411084268 564169385 348315999 673378875 722535662 848050602 966633834 191110872 917258621 613090513 961935255 406351607 675147194 624741310 650303431 553058424 773390667 854779163 883942469 805946421 750521879 234065765 925265814 317154034 342779858 338528482 324964448 571731707 926903623 598977964 387673850 381781024 448349939 530385431 115586745 291226513 464994221 694351456 565793929 997478159 164520111 824600689 445349302 325388752 804564914 128145182 422346070 178226778 599156382 886561986 768331489 494638047 167132667 961273722 898508225 372778675 958755637 949432730 520268498 892914328 674821344 723594647 742004417 267353020 502267389 113634327 121783905 795443542 213200691 735429660 203491453 763741347 666113075 220618122 142072027 920295792 749802721 771596580 163146802 195053321 268263889 772197005 341130895 268220367 768083040 539817093 645028927 532282513 375461563 482330157 793650691 782757630 543021566 371119739 267217106 329607869 199578513 709423674 531830360 955095021 682551841 603685838 857339351 178753695 915998880 849428413 962212060 521748063 877690890 454482371 460583491 775988434 293567284 850617744 217688809 899414557 596494601 911282327 186378097 634300534 117773725 834533554 320731553 907083679 331992527 624390461 208594178 845657259 579146148 536311101 659125739 604379030 575281774 795750790 104513419 480672633 980977857 367998333 262384769 224755839 769167073 529628210 140801826 503892078 165248383 572138015 546425989 497607176 684844103 484004795 406061800 448061327 689486950 844568496 728948962 947461047 798168693 774539552 446439128 339304898 971988574 756049950 900255551 240040272 121195490 632149209 135013133 649378133 823482737 850147390 770824954 188126295 696084635 740545886 702452785 868274974 254225650 672966557 718044736 969146187 341131046 775368940 700521664 820074922 843515693 727621522 921258524 815051406 114650113 494409532 434256514 116181684 336997764 563286825 965268870 371640829 908516853 957549021 550702952 215289280 284512712 509665112 894799261 225437481 664146967 463239024 158814832 954480736 372322476 197967574 761792926 721980659 472848928 569530473 480566614 780406547 779689051 991736091 363876785 782882606 537034825 830770283 772762039 845629667 932011548 915046456 965092235 778640042 987015502 142310794 444447243 653684000 269995362 783668467 801904386 517220730 851355503 542624712 127840075 363610686 272544749 735639938 893831513 868219311 797213320 169055697 475057324 866479119 959841768 155784937 749040729 996841262 601268525 677760732 612007688 703624444 477449910 573134023 702648739 673906658 123292131 640474555 893015821 402854818 226409810 857298538 196457527 871012146 683894805 186667134 302571359 809393741 478326661 588549784 872787999 467928822 426728179 759954617 130059756 615828273 516877221 161082222 708740247 687088764 643833194 561319213 622736784 947248741 844486132 789051874 237386574 328978441 857785305 629669508 159004724 107652604 344901795 740842674 620199183 304064995 343935439 724132594 734576316 435833019 466709292 539331694 307036550 744789647 224403535 462594019 394676969 341855944 281126403 783874285 985264862 295354549 303803759 859920383 234940647 931625529 464326873 390969990 670639177 908481135 412384660 567144629 486119443 714756981 354382650 161857236 270946116 394438841 330770332 810689926 675370770 183053752 353395105 286618569 842825393 741583759 633889944 636266017 184524802 866021352 501000850 229099140 333668226 425034388 185299234 820027554 544415177 199938627 549433573 435691941 769820044 537273758 709032794 100684693 841806259 452651587 676043513 211744091 904020401 584668495 726454618 732885111 274125185 965791299 911604387 868780287 340911789 925435652 515668401 546723795 992000997 852606672 632498644 889096844 443090826 444522670 637507186 127605589 265689407 918595299 431419390 308445279 779295827 243031629 138978159 416432178 210534612 652506924 839339654 273451716 670306980 737159627 179727852 149820050 576825554 986534271 536173181 537460217 472099825 476151361 689251069 172329534 118362070 515295591 522350192 958226047 482240664 209769467 922417494 186343431 104555681 954050078 528390711 274021770 601664447 722189098 270962123 817650817 861664059 618816432 657361762 769254253 161874021 374611204 538703096 239766534 304297896 645411366 658579580 454947781 986088165 343033729 130589421 512300720 913462457 129430459 229621839 186891050 168011188 335038882 304285495 746150805 881805535 692420352 487150564 987458935 371775216 608511845 928159607 684192312 368715897 766203188 735132532 223753635 489189088 642023203 405418597 745774660 380739681 330072312 513319846 544130818 774810730 321631495 361570197 968420761 777186233 763826443 305031493 230760589 834645625 955001545 604922639 394200673 821306882 427201337 237720191 817262213 361967936 502984925 438251824 651986123 660141144 174132135 900786644 544509920 908886841 971179520 148700816 616805197 326116217 545356128 797126021 638096581 433973555 109351994 133428482 811022773 437968029 524804321 990043721 633788574 411971431 214143896 575683825 376015564 459844334 307974839 273149109 692141196 920137818 591609085 153383111 453201064 378925903 950082878 393287621 259153633 152138025 861207129 278442679 380879233 200239087 852396091 741200475 846007964 593444699 410926600 313588645 168110591 115442992 478288627 788398149 922001018 408936521 631515717 974889741 533805246 776184294 588965625 574943497 878865351 764083449 296622203 742873020 899942084 670965977 325770764 997537448 936726665 251690945 617922887 419784317 836609687 106331031 824976065 159542376 560164631 871380708 629279823 931470768 495549540 441230211 527966337 104839488 900135009 537210154 913024757 604513180 639996152 794402659 778476420 988669272 584055274 170724520 497748925 950026120 370155125 325644466 302045584 836300419 639443852 887616763 418468833 753265433 392225058 362268768 833679942 985504392 120954027 205819083 182584689 558298023 173597835 750675863 881576318 856880171 234534497 757489348 153037238 398115690 603371961 154790976 196783464 668685580 486671979 901094937 479591948 977810540 797559176 768512863 652523043 808067269 149138639 513247905 527773644 893213019 374953585 236721816 972777948 327529541 389886106 159203891 380859443 133221167 429802122 904739709 975188128 656546557 679636114 937225667 926469601 281494879 564996370 617156719 644599279 164262195 262316671 775188653 430373141 264695535 954419785 305698793 278521440 752612920 481794849 457108887 555877035 808588615 454499974 402919509 984987157 873133964 653702943 341015884 108098738 857398317 529293618 998837220 895300146 421415345 717848772 759324988 419105352 653686992 669850954 146101330 778721369 185269562 307932807 801636092 928483436 834652178 212764746 112380133 801103203 148526885 548495072 544548243 888663615 292036845 723757830 389161706 634577391 300452465 411309032 241391287 562438820 551141412 307399662 899474794 475200315 539682261 931782759 842267638 478976252 487947944 962408535 168954063 980943883 527732136 572341134 550970589 925300091 492018686 484617766 258541816 486541544 497798781 740482415 800495076 935947595 138470153 482428985 284913742 997629005 834926052 327581239 684773904 102234028 447269766 610339005 386741451 322922707 664476318 887145523 480206981 804416643 505722342 928801016 813001129 603061176 111699863 447990986 396949619 622873723 165642685 388973081 666051128 923990108 402392174 252502249 928828464 731561497 818423815 543625706 992043380 452891941 994973367 890729599 415861840 702522667 190419560 677057379 595250529 907470788 474721526 177052705 404975236 620680233 111373580 979949663 312643554 678418821 861058251 801046427 428603014 850510308 631287770 394307322 437169044 126988634 487988696 752416434 769013909 361659431 353886152 147758330 948391564 755842317 214175506 733632814 843920425 333300610 599474902 762823811 954353185 210457621 798167508 125503652 812187008 721452871 513448089 503072114 814429236 419245105 533989449 498914891 200417042 988201482 891453606 553456521 487565043 738574349 999966487 948260049 152587394 678002573 930812156 418361496 875179218 487655798 724930931 128805698 246581574 550390406 340089758 841269090 991373954 272793705 633369943 820003013 636065033 418726390 202798443 887075181 708271265 812278193 121810092 995665694 759131360 458332095 689196984 720138700 113610209 163809600 849553345 342408088 173365431 472005704 587773633 650746179 228019747 606378831 749618299 865443880 554867277 162923234 983610834 765965553 637421014 504441488 325525444 917037103 620910154 742048860 723869937 946520636 781327175 673934596 733689117 904503647 616054772 355290925 288023980 236158824 105189159 947074679 492052015 740894719 704016843 489924054 831926142 849695934 396276932 651333867 714896525 558862619 524415024 142858940 474594229 463126372 995320731 666781053 515239566 548706230 415232177 199666412 815593873 936503697 913916246 394684030 962911654 135238165 876517204 743790324 258546607 909149616 926611369 776954740 857446319 128437045 223633463 913511943 852850120 425806665 142110651 366050575 790539680 776289211 676309979 705565274 925406171 823830482 531056020 634692574 194059296 630856091 790991392 841341968 230346196 618980835 105480687 522135945 204170792 120914122 837797909 247766366 849412635 651727611 501881867 236844549 784435134 143727954 575766150 395412510 970338088 785887642 475774306 856074635 671163109 265706406 992747717 464704356 102291110 418055259 742149790 928146022 878952991 505864268 741559587 275682585 515174522 100057282 768224757 976043853 945820741 976237515 246495492 908786235 952728333 297217455 733596048 369923143 421667991 251705372 651050496 661050266 942000512 954913704 266742477 318134210 651113016 485951289 746598423 922527941 748267351 588802814 333933120 442086518 445334343 677836524 308649301 485662961 193903783 492008359 227086667 395237684 294102651 313414664 183636185 829958758 236206520 179518522 148674928 200665380 351165262 671926709 616903334 883179418 633140062 504032919 966680414 625113146 570137902 374240976 809889566 200326567 934791911 379329434 328262430 616428978 922399392 909650041 322636850 411073217 183664278 591753877 485836488 560792171 182075302 369456422 270891060 852992738 519004134 302709100 256418556 595986456 753598557 992346974 902149294 562542520 154248959 664731566 339599459 854768543 237502163 570889382 329113358 267129757 371736722 392392312 875842344 604303771 693299213 889171684 203879141 963692996 339767510 870321198 748381435 939927349 937278573 774821628 183979195 883079711 913586289 903814038 838809419 428916480 929432712 507786066 492591408 907002625 925024799 499857976 649525520 538748759 791652593 529472275 854566511 139088570 108753840 638435553 254051714 694379307 247039279 768563760 728549648 604257650 504808170 668418611 433334129 615312710 361570933 646595414 691081992 515176300 815182070 653054076 297297874 230882133 646254067 554187127 106298494 701310779 621583904 503138284 460807636 255156814 802200294 606664483 961500448 651613439 407645000 411414929 678163428 547708886 762351469 875070432 604442278 601069987 219037248 250597378 169705457 679743688 928639770 537728074 260011073 971330081 757921000 314335301 332313909 680993684 519301377 579280933 992307103 855315697 447411233 294914922 845191056 373738235 920247997 837103928 596837378 787473081 270791726 541711817 285552198 853004046 951806198 437126706 904233411 944573101 927201496 961289670 461073676 997642913 135543991 652721878 649327377 926136200 242272310 274115335 589226846 842402785 113427647 755188888 864444674 659359363 370158908 460067304 148376744 647718227 762618818 367420140 663090703 815560107 955088604 271985390 987624930 735940196 672150025 293243487 511815748 950907090 714905804 770107749 373212710 655922217 923109699 784426841 116711603 886325769 176532167 831362812 787457950 341075189 520499703 783912112 881003720 887120260 538339387 863531756 850597515 594567879 433467229 445093357 850431853 875973746 525509510 860763043 472679449 330353809 597411479 417290842 588511122 466389044 287534609 965012234 824527867 659609787 994898854 129378140 697263382 615873081 343322059 542724249 580058366 771226059 347087616 537852491 389832950 918058214 540533029 467265641 375816901 806869108 779037797 245072646 708544425 981555637 101991648 463397342 477516815 541427953 826107310 384366870 251601447 868791573 342668958 990300378 503952442 650138229 698446350 999400908 459166945 132960319 134141955 481084710 425461083 766305451 403409596 208317955 756481818 643012132 106256899 867898978 898802220 344348835 131784661 705930226 348045874 715415661 505314045 260847441 392677731 217992547 776158034 962431393 133131134 628385141 293576052 575829017 761034037 978463204 166737200 176859913 208356394 753735712 109633425 471395503 869844725 478821194 324770480 486000425 813875456 162584370 434150361 880326331 915963130 543541377 741069813 175884197 650746595 256528209 863171530 324335341 463148037 796404789 259043929 608720478 187531230 630495125 521468049 907100463 536551608 704046385 473454335 718853966 131361444 614092384 121412356 714033305 424367115 620778722 941201510 255978023 179667569 358235749 454062110 221899993 496992845 144325346 366506583 423340427 375754911 946513373 527059542 584837861 600906027 472023682 692196389 685817444 369826434 886621330 514117168 120459044 596039428 754355866 915543186 505952991 813967745 305639283 568779260 636075388 870037593 900388273 554984853 863444296 374893404 521691890 489361660 875818992 775111292 260050603 194385519 637970299 175871938 866108690 433779965 438830302 488759291 864047022 154225634 615051193 372252931 264305945 977027095 327433736 549989316 805619640 212650798 906435532 845280858 643223310 575983847 675500143 225988221 331959066 214223021 133524567 700612068 476814218 462840854 472667231 330427099 625031725 678213617 666066740 730484137 319426141 611811620 673210271 854908555 555963948 146059769 639064153 654892835 952132960 745681982 527687846 898166251 951665193 438537600 124998399 540216728 225337546 566411147 710053280 573750707 643890155 228346871 380819644 710816231 150093692 743478337 408059238 848459982 527445135 155167625 484080749 221247608 287439054 160291910 332636403 968997293 699550534 659369263 308959671 804701051 584214007 425012750 220264367 102515375 631169918 868188580 855027395 286304507 260555992 315785599 267338126 308850089 463373620 606805462 194719439 519342762 876221117 564784165 244658540 260863374 432385272 243240262 966174524 204892918 970829739 492993965 482857126 889987500 818092528 852876184 419328730 775855737 827219968 747012530 292475195 523789870 363173115 306847367 393181061 570384004 497296652 562411865 151026800 303441970 731374358 190874736 385755024 739410198 581400815 860673131 104310460 822875089 740374152 597228951 140659008 142412457 398531406 989390220 632306115 954045250 641026081 626914459 423315404 839069149 830856098 766011641 666026035 821522866 353746666 719374263 468776061 650921455 369284039 420843480 629993956 685070604 380721179 810100534 329071201 322726482 453243083 783083150 522765270 834734846 663499132 838455977 364580585 724193203 146138501 439732622 415212482 503388695 451351810 415662961 354446801 832829241 527713554 190680607 235927932 163967243 114507554 122050505 492873651 287560985 104355703 719664888 317609552 674868807 975147066 810698581 978581445 966075665 697711761 405274642 248745053 980353154 816119590 546335581 434792181 525570180 180880141 345439735 420130310 560278056 731067169 812104915 669993421 860382575 182541966 785163569 230894582 728416949 451059068 314214496 918310204 370701529 307908206 507749711 181075496 602747575 734254046 865455938 716675743 118605371 905186539 245207861 418071460 718083699 266567370 745931091 877987493 557472166 739319882 244772332 895557355 153109105 161007941 219927252 386417319 240150198 108024815 283228648 696921497 861922771 658994794 167787874 571307876 480141482 105452720 994797295 995105980 206060555 845433681 374212932 135424772 269108397 308513589 934815878 862071752 881031921 587519733 451849952 424264929 969746711 907630176 222460195 304453844 512911678 812301230 529255999 925387486 596951610 491543488 230488761 751448049 374679590 935602012 429441714 144079064 527475552 221754524 839738333 115586263 592088885 900476747 726092540 988942765 470309656 867718817 642556176 702563624 659341363 439896909 699892679 680439700 205635983 865166247 224586062 732516213 953699884 930382585 902304692 898452041 512770035 138493880 931125923 869591661 445632272 326264831 919461797 969076429 107329018 119935281 331981979 632149949 387858487 309771915 422867671 643669189 170715919 292380632 588426913 782392941 514774658 655808978 631757936 969903325 669423945 899243278 547255863 318358077 156527512 395427013 838595456 165496706 394392240 959891849 684253618 203906614 889174837 971845439 666766078 270509947 266542147 629082895 116252991 444492789 543712298 857943204 373387658 405119188 859859331 784080677 497163661 158140363 403333605 489879491 334379228 347399941 206901468 611103636 873991183 297362335 148735184 875720969 188148650 296908484 149686756 459881125 549668878 466688600 936319053 414376672 107842017 890924884 136753512 115828229 547472736 120808393 413395872 942485967 757933440 852241413 152475077 784389044 377954642 653444942 680977297 288197291 773854003 190038636 411795269 791535461 737235106 831512740 645743236 113705794 307464250 576225444 391298377 795797545 714859798 212126878 430486788 356786881 639616695 303937073 294721554 483338102 146618312 966691647 485071352 343299912 580104188 906430973 902722931 189773767 738102038 405213809 651755140 908717648 851879307 340786102 779068641 942386904 616209246 880410392 929473142 232054483 433453398 708043664 424992647 284704727 742106672 827948015 601268210 913260137 439628037 365248193 691776549 385154526 917996918 222356183 619616870 259046904 815248645 675226455 146102393 830608022 183316946 104978998 386721746 219207770 129166592 168456987 988841863 313402948 605829979 440345005 577419957 380556515 422043470 365235172 539732136 511130363 695954085 391578770 394340034 979375905 112759157 883539993 261814230 219881229 754328983 132740363 575405257 450694706 825121934 602295109 812948010 548472970 816210511 217565908 708922939 818850502 896249262 260807410 197022241 104335048 909083871 243229462 795707305 606139937 356235521 983658118 316600657 614574130 896547303 714117776 852634115 734797198 776906858 538117335 978665818 905864293 695109940 690368529 110548757 692246677 810246541 951840428 790824747 537558312 748655146 203045516 299867535 496654397 895318078 250399417 421780052 134351886 835037098 943764602 965159305 787412584 890468291 492375222 697922975 129441083 940492270 241066571 869041553 921574310 477518867 570758987 134244786 871671682 380540544 556332446 717016915 734765755 358595526 307811351 134193155 756467868 384351809 661392115 100814040 640614313 570925309 614728053 180021337 570138277 636954148 120329994 471700532 230573938 183112959 617603648 315593630 838423678 777454186 750181170 871510929 175449824 417453649 993644641 532348419 585407451 159112654 986053591 323984364 246689328 259271228 843937955 580684648 791751808 355628542 211796173 494428289 674089297 215781130 278402172 441289919 949185820 690902638 787661677 879170881 826464878 587755554 358299886 264026797 716741628 979864686 384777035 411430267 751557070 994403000 178927516 825717174 762190764 330648425 661854531 422332186 544902457 724822377 422214419 856837013 975471173 561816430 370272841 828955487 883514618 225387405 795418871 563791300 510546835 923457193 148142073 164730803 863578497 403921177 586279475 228135706 483146250 702044612 834104840 146724416 903674534 105560873 862354905 462164179 982678438 834957803 885448473 359033346 184653594 916091275 125704909 380097297 766959591 203293624 294095247 377746169 764118836 771752145 222350604 111962649 423983444 677861165 254178077 111080769 991622472 367153852 331041578 261764101 387974805 460802334 872513872 437270570 794099958 935023669 480889665 453033412 448216033 302188616 494209965 914358826 442955740 430504511 414010358 885414385 113825437 584282939 909003859 709969804 687171277 905219035 109859305 828451903 448262734 945183835 829921458 301155947 431498022 570270737 222151226 718221201 596728772 158501834 530488611 805863964 123303899 901098409 758200790 980968879 790021214 285675392 314505835 921875494 972447489 907138712 714188653 821482941 811205032 462720238 107896511 354824059 759217830 870543899 946413492 749409552 264135990 177078553 118199418 459192850 613249843 834890526 991539702 351321162 417663625 828360008 986516906 878999837 460660892 695277295 799922881 651650651 645668225 406530500 890785832 713078300 496062149 618043106 934757195 106052340 285650152 455429713 220300288 203547724 987427068 290073294 322737474 153582391 862103880 129283551 856114902 171790119 675153921 191600266 480585760 283147852 284164553 574236893 127334897 575757182 933868771 781452377 580349277 978778186 190026108 682186489 232678293 866481335 761238194 435798126 269433021 153846761 716774588 875549164 760285568 855499997 781088564 708437839 167741241 709004123 411450365 508129150 197916661 235909236 172296936 168860079 807536461 841426342 186642713 199210828 953690767 132656864 965061944 689945113 211424923 826467185 357763792 850407509 568518102 635151048 537719733 718602706 162288176 747044307 575398380 605131350 745161924 482566754 109171781 596786854 798597776 854286204 194926292 552022039 198009971 664487779 572111275 242247490 107162315 350971321 605310093 297319785 394846389 701507718 290875861 949671818 698694857 288751301 444119492 309897918 764901122 918305822 136887399 725881775 514943147 569055525 983976146 926810325 194168157 666654323 991786417 723748300 354771579 662307936 664165071 186815351 434929759 825100957 604840117 839563344 756292438 898599822 333867078 803093085 900445511 892017813 743128431 646118538 241319055 904160439 242575974 755581676 299239921 553969631 292459845 460357375 278088341 991203725 417511511 760724930 113042299 956408023 475915890 616270407 398495136 521534746 779847863 791845421 413002246 101383544 423394594 794005776 678966964 740880312 620862836 932893588 363878261 832133402 559545302 582599679 338896396 527812065 707923829 241619976 635126904 838620515 797300438 341393629 954470536 208504350 991526657 588397911 203602782 689957201 758276501 628680244 547971711 715255293 761260838 307252948 151017068 141030608 401490939 510117523 582486503 619345076 661984073 717771892 238209812 602862965 965267011 437783996 351844576 966946067 767248664 842303081 577791051 454346960 926381280 539756958 307413839 792973064 936987484 778867756 660662055 488442134 758772732 116245794 867060163 829964653 442761034 380992000 301364723 796262877 800918041 691347462 812165425 832660952 871639101 878136123 901009113 289653803 126213610 555669570 736142127 957223053 650043603 762740012 866560026 866786150 325119543 566408578 297133751 589492852 342906724 808638169 475848813 955496880 340225046 522508634 472865304 971032945 671803976 734265485 640610047 929188116 376985487 711479519 322959664 219267769 845776575 695387902 962113493 988222382 546039351 489214228 977818564 687090721 349595633 412193486 767923567 248827025 917215940 841767444 836176509 509832672 342958541 146722517 990330302 478563399 649628095 874556221 604466165 554887319 140173928 126808254 691761013 881736517 365195726 846401193 195160895 217105987 703622709 650537454 627731165 966345753 617595947 722784967 265203548 255054393 801523828 727490051 968721825 807542232 919357152 805082474 356378295 878492245 357632746 250632319 973022107 104313931 840633030 677665481 754189983 935472241 417689372 868819518 685372194 331798050 430883422 436669603 448663696 253665525 863696784 132271092 892658805 185992577 158669023 351466229 164127602 860294322 503701463 265005951 487061390 524990160 598278317 877837057 414282274 655437052 387084664 473830712 610540271 985331560 688816440 427674074 858050699 922797577 432280443 966841338 756201118 650337921 429898345 826590916 275659199 576620216 416570336 560817599 551679290 530611820 272304248 414400462 592548959 168521743 712270054 560508791 609318122 176660858 117662576 979356546 961551118 495838697 510273167 410568134 659421821 795444850 382763857 556776794 327372351 794650147 166464592 872920858 396624002 338605645 990818663 637677535 766547074 564833196 105887942 685600893 112735835 499722546 972505794 156997424 363933994 176983745 271177999 319940834 366927274 985796814 571519906 255710039 964755930 345745001 390530984 308019101 835727478 955075020 629300704 591640101 676457377 619448299 669997970 886674324 943952924 692938240 144611852 258503506 886066818 956236840 939109888 709832647 182340462 627339755 336398407 607712387 741725820 422958680 718708920 963436313 899375591 823187933 997759061 979394021 108362709 890929224 135266784 382024694 546305623 755532940 656919411 450351333 879024154 828794849 198990429 230438575 281900445 494297235 729733349 605341774 485214678 599548713 277872133 423465970 726420201 743990241 744297766 491408251 997473442 219291008 742632746 122240501 103450207 313919742 706561136 487573323 643614463 513024716 477851846 287765119 933826868 475780777 558240175 897401897 364476488 504653801 632010234 405214962 373263227 763455339 669082682 513598975 978577506 583730901 939389803 677765718 909605449 115618662 599675445 747597980 921485867 192356727 102935244 889760579 785339608 852239071 288093076 417819458 434057529 254674830 334567624 670004917 759200831 415691345 317498557 718604275 522013220 286029186 768964825 171202951 293960587 260526811 359178270 170534639 938020196 478061152 239145083 164005441 413813660 885123171 937830464 991900235 272420374 953276079 491275582 791320319 262309950 767170228 985870839 245149021 995183998 671361100 291974018 737972504 379184643 203093737 815776427 358599412 968181358 346802600 486641470 668919341 363340431 375455147 396337584 165608587 721926025 742564430 703181857 321409924 173707552 420600659 975324272 202084711 381379390 510266533 882432205 911150468 110876379 228562447 522702377 956920624 154329925 788865410 108425086 666480859 891193080 665392982 513123118 461270998 856090452 678451052 250829424 805113980 263945409 358565425 765125706 974352940 995294818 949532626 590213877 314228117 628551524 333897548 957810895 224472744 350345942 918522105 721578972 252526909 280822971 745934186 478257795 904245188 210797992 142655079 667688249 296696836 955098377 552162695 111945321 308455406 720834045 381780069 990090059 825840088 552791080 395128141 866813683 341293452 317097596 460628500 372897419 950189986 349183846 499861343 462176695 599939544 272104892 955436021 557977885 855798696 508970799 543974903 510428506 742756987 885340902 604699886 353717069 371010915 590368300 290464054 172079001 892453588 839480022 477559614 322151419 503949365 363656254 121639158 238849062 401051341 932833519 258021925 242563139 906426630 839097097 480749853 641616003 588167445 999307871 501402518 688063902 508127064 304481530 350919685 394115621 569652052 400764268 820202124 315538436 660172617 163740076 255487345 141982190 212577987 714098705 320388866 734335078 522953961 708744635 223169399 407751562 152302264 812283676 820767589 900903543 922691528 255175081 401568774 404985014 744324627 282147656 852269325 673967492 688301026 121914932 621301627 566173262 878831097 637268452 111905107 307899445 301990402 209243800 784783537 785873174 145286747 320862066 948391254 254895679 184724479 273941604 290355355 223654295 618036747 532030047 471488255 234436533 866062430 309598999 251695054 266461232 402707297 456827707 469593803 519971672 531109949 914756825 874725593 982525908 428583071 285986544 579593424 283695809 319227398 853106184 669862393 604408967 132566567 785384082 143675665 910939267 224750759 741432422 600924420 907817325 340098892 523247278 903428963 171789645 858288492 695168175 716023161 671017483 804194389 583308610 790241428 303854494 159339215 215088680 682189092 325028750 407519741 736324325 428085076 630312268 712934855 970904285 726232735 214151450 693630633 694590138 866905923 728479180 102364069 361696824 792132929 841802463 512282415 413887908 690386790 172059158 611775825 762868410 375762719 337568737 891856518 187136549 714348058 875755115 659410772 571568564 701402716 362891511 498429088 131975419 334534629 696176890 187281942 554032974 380694071 692306317 460497202 854581574 899111054 266293910 148194989 616416328 578723009 878178467 715579913 365305671 157202704 318525849 487202929 661088282 420656505 395614615 725268780 182540522 454077024 492270794 650608606 990740425 682039288 792112730 524805288 139610319 420616674 823271333 447572515 440492561 818967844 318959392 295169143 541286856 677080491 236939553 521821670 221912269 474584638 481225483 435355045 612063028 837263899 430697754 617063148 434520883 640438902 590779561 372988363 671621460 462569304 159137444 773062905 256086752 106912740 402285694 238762586 908721698 765572236 230569465 668889390 925448083 380676785 274143528 873638247 892828851 432419833 785175810 603795862 169921414 632467348 703514350 987352115 336537951 499280648 683915696 783061539 426948611 600999205 885876986 252479772 912017580 371532117 141266154 538047247 790948606 242970528 596306159 148537510 904358225 660916434 706313392 468121839 913449814 610905805 202583434 481354538 304367311 663377559 719016426 777351651 384115610 843510600 943333187 627834689 143655647 181903297 564134888 253275547 931297713 727354046 202027808 670641343 378486866 672893883 134893756 305071631 424119836 391712205 460254758 538976683 691307708 609212488 633714597 187358592 542888124 739257503 303352181 633285276 407646215 380557511 962642249 280896047 145851324 141654466 259627005 829994327 631942526 289853977 713043409 810228373 700210298 501466070 345337027 917610360 887933073 800584121 164799416 474819014 652040879 614292056 942394163 133164923 484306719 161680394 629250577 386395572 413399844 622450697 353528640 205438947 482136934 493394853 658735311 859449414 706775321 208274772 530150533 208084256 580701029 632473230 340581287 344334651 629748462 244866953 153072408 466202174 476912049 209433890 237150088 303468148 194255495 176079238 132767513 898541172 991513170 108806885 310351166 305271818 398733179 554497409 464204413 797186793 291569386 673344355 431429874 485737245 595645933 762598723 701708844 578657919 430025944 442637584 242617238 659465301 135939888 964148140 648581083 923829639 742482102 463190964 346333632 893252445 485872887 794645770 346125214 432963901 385295662 411020031 363065698 530787962 248164809 741022173 742823553 257305194 739643350 261312911 344931527 491150358 243381833 808979390 667714785 236653754 408967145 880902947 627363316 748540565 517902247 142069889 681709291 147489238 377170465 655682784 280132209 582444983 205483203 366097190 485500029 620051061 743328386 536594425 633011513 307091044 969517946 974137998 666665300 969980848 595668480 562945448 182669419 902661030 155657920 958333323 489713254 844174969 804754251 173727289 380723712 408434041 213432239 676117948 441833293 354593139 642298104 676323114 428556243 617266446 703674341 264590198 207757554 500496765 945369738 104669403 502801763 659176796 482109082 906039440 168069157 616907838 749172544 323959814 722637505 381193584 305102815 962595102 143539812 446109755 359937381 750187975 541933433 474855163 576125053 217284652 352159014 527440998 522350779 890564438 374224470 224017484 868554098 662527536 161281532 118925204 558171694 412739405 299195112 474381282 407176441 912610598 330326653 427614957 381661548 504476138 272732293 141064716 956976350 850150006 645151444 362741214 105933976 289166791 574388696 522881334 186772097 300461544 246321432 638047077 513850880 209334255 365941504 801566376 436414332 349003902 230845117 490900864 189995911 225038635 971726101 228637692 796389414 483318861 345087848 300475382 245188962 629914406 447197165 617447266 413694998 116474085 189374768 394575925 260995270 443624180 432700085 977879424 398283352 501073122 414590699 895251410 412202929 760525124 588974482 527984120 771625008 564749562 244373695 795148875 518162452 117784570 790138829 430361338 783118403 566970265 579159911 395673352 131837646 166526378 943945298 841619235 236202894 740539065 896693365 512576181 966031299 837008294 693987520 828381515 386243708 329791597 184024340 143557639 251817714 602622272 469176284 658791039 648205163 455877281 677105587 153761991 409063159 428503512 632733334 714132514 258993161 302690640 441530149 888787776 243049388 373019402 770505346 569645780 492426907 484414766 829110634 678535576 203910772 150299408 132343794 211017129 137649797 419815790 386705572 474566340 121574662 721806075 678940031 414663597 371979483 704896296 662185024 219737640 185245817 241885169 847367762 550078760 358544862 167681806 199111269 437769641 126433402 693564132 550437553 459629090 725144586 171690532 154789762 403490972 998854565 928556458 636134491 851406525 954171100 492492702 925201639 204955781 727831317 828480686 822770867 956795648 841569538 800383094 650731028 789758835 985761255 131420466 212640345 942617869 785365288 153048217 755731178 882268903 647850381 243544243 136935818 942930237 889171270 263770840 641408067 113087694 681855684 632660426 121620123 441206204 590110795 226743771 205922565 416908943 927361523 366442789 674961223 757129445 361310661 405225197 352177746 937851323 111115818 571622234 629913549 421610672 466103757 905417376 752708062 363316648 423637177 318388509 638172092 782867609 233223088 145330282 782813480 357144307 734640909 323352366 399480070 454664398 823092938 362769407 611890401 162083551 504260475 513617211 891528711 783056071 387871300 950629766 131196310 573530942 327809793 710208672 534895204 875229942 608446588 110176872 906852285 621925760 422438220 350326820 668128246 251043531 106835758 896302708 765690826 536236036 818282413 240141186 124112568 450480711 924597242 538801826 909033069 807897529 390539293 285843559 968471113 233520556 632655584 743625470 638795483 363394498 604050181 769532383 200930621 802708236 238391878 275634663 419904320 971001527 307944505 714467746 916885452 848713395 277528607 395188844 553102630 821397024 333836908 221773182 422928837 941765182 472908775 216941267 196445087 880558136 855750508 501180321 729643792 956296246 162402054 486584041 744023579 656792676 356828978 384261111 690817964 590267617 852093191 105464453 252968178 956435153 706599112 244843992 918555030 692451458 400493554 430204041 125265612 674047028 241618092 153741017 914254264 425915477 289903683 811045969 775074778 655638231 817966115 970073275 832686753 567789226 123995272 627738329 265518006 451135907 978019435 955888383 145029670 607260519 422112358 623953375 599517814 601849975 867812006 856413813 407195931 933241789 578021663 183181292 421205816 912235238 177267647 541081195 468021334 476984980 604398031 136906202 541799463 436683772 799654001 476758560 418918569 788165343 494665394 510972163 353983175 110256376 544601352 426092092 390511635 479344939 565087531 778616186 692404486 541776909 613812916 625051780 862237068 149078132 190410341 909697003 786469163 657309904 950924281 920958849 752764005 219374463 740086340 135550435 106161573 268675425 627764847 402005030 833635336 847159568 732035381 307310646 386510213 390932122 612183406 713392504 894778744 638604705 809303702 901973960 319879359 197422649 259909240 242500968 335777936 173394034 496100462 299389856 392367555 660249889 601600173 123919895 583490700 239981612 709535570 512905055 531739070 513981043 981543999 197106931 352320954 526236565 353790602 434541189 204486736 656565735 827229292 915980855 782501275 726095188 417792604 841233191 812819424 545899795 372924437 494784334 509977724 292246527 504846084 153332065 763109714 506071778 706066033 215469523 891564037 255657432 652899639 198778379 107138284 726182344 396027054 150817559 274579986 122137552 400446477 148315216 632353878 847999259 936781246 979022500 334867377 100876172 796514312 656119166 783635450 579694369 561985914 336938328 873579948 274747105 433660255 229976348 577194624 270008279 444118689 735668985 153169219 537798869 114814429 315613572 214528734 681137285 625021918 567648423 609360029 682007301 433669019 153660006 894936325 831596129 699959951 181938501 841148535 425558092 387288318 592746384 777443223 715431382 508623903 883867381 873919460 834567558 252820346 393533484 577542895 499828274 122913674 542615441 784806199 239094656 121894075 531991050 301739028 334129212 185691790 753354340 823795479 770116969 288627656 126725534 162986914 349099509 679835418 929769247 516613479 565618874 899658778 936883780 541993474 864233492 362664110 592388416 701933108 618108419 477491704 262574315 658141479 213856279 586800957 207470609 495020252 582440086 177101780 925245629 568267492 590464677 605613363 263063778 673419509 666138130 143123103 236334309 537144437 313108953 672779540 514466769 609902342 537720366 746365446 807606580 552853848 469103426 668396956 509445982 287182927 694721162 701389373 103773737 275278099 706976145 440554463 829700581 611614923 523360707 301568248 822525818 464919303 643594819 216583832 197555608 979025383 289603084 432056193 459170975 540396634 977795813 760801525 253553597 710525757 836566412 157832603 187676174 139147518 348217746 494972948 635228486 696861861 127777664 448766822 895261430 776924813 929622745 344835915 895950293 699356197 384670359 721552112 638973665 384024099 769396820 212570239 838192674 239303131 764851282 274670057 365277459 533059974 373538494 231938108 668092594 485232697 118897126 206748857 384618040 226587800 816762244 277742106 387584521 121477769 873854757 814312939 724195997 152654714 534873067 485921284 537268518 685184588 701419075 807603341 703713358 354489293 195694104 424111880 954942845 931761348 735451650 485887616 502220604 384662924 308659851 810556789 386466238 766204475 119455832 738479913 802189004 413615915 182176811 545096528 865211161 296744502 156458714 999316387 775728134 875845436 205908263 426596493 704560372 404635669 559857579 722365061 268184209 500197414 908504568 125870495 206710369 194818208 222913753 199723601 336395995 729259457 786586632 497472612 414559247 976531435 667934101 242943601 397248178 718642581 608630201 785422250 314725302 833080383 177276072 225473846 353836950 687721746 449601676 319698343 477763401 987893559 524909385 520578362 727822792 738512742 989463162 852918376 108269534 877094125 328667016 744944196 259704118 465230379 919653134 393694170 654663415 769559758 943720460 897743099 176737178 443842170 268073569 644471794 818666117 532017685 326329635 100623883 558648328 753831450 863139489 897370526 150639273 967052844 408228477 969342893 445521478 198444408 741375235 949752776 596946442 823010960 860297438 640560998 768460830 597776909 422200179 726168492 682693785 768363228 945173372 194021341 452649691 473547115 567485433 830299501 466119195 324286631 782338150 541041207 436741267 821821376 831062070 143140324 107752766 358341914 351480096 844291514 586551967 238081308 965596019 973764079 396798155 289133902 721083720 139293556 264591906 843405310 859258328 615341521 192606446 215881678 828822928 910516730 429295676 879828260 284100851 452896607 383258858 734273766 161277255 210382988 622788388 179016346 986879349 946671900 569728022 489865126 976545783 328517498 951263519 680231011 169409347 943147157 331037750 638733034 313725454 782075430 456298380 964256410 211351958 433853779 119734803 108633814 477917589 875472228 677675540 548906812 634442580 966733217 990076738 105662853 741930131 432743421 630572837 219911177 835724597 811099381 124107429 722984738 275416254 973071339 773153504 450434399 895635600 615133925 460601019 557676316 157043650 364302582 238671354 535360422 467373798 444630823 139563589 891046980 304019232 926041834 761902938 190564854 821195061 384404107 994869401 176030728 202803633 246670731 641924020 998689510 738001996 446185089 482252687 967719463 810795604 413740585 110200900 853969319 415361180 397850014 322183963 996286384 691288315 175590720 199040644 246868855 599105015 190600882 153359007 719715622 506210715 392985543 914305179 430808232 811197923 509831524 376956198 379181378 657394965 106631799 248887322 124257036 385122021 454696075 514033838 811814138 888141530 426863340 273482494 499592808 699010687 149127058 494350721 689163172 938177128 207587406 662710040 794893489 637789065 716861468 807522464 522152706 666931971 407747879 782802593 553474159 201248256 610124788 293510497 239944692 893386006 395941773 295364611 544535979 147193816 938759101 328413977 371439298 291149092 537245248 865380147 913397738 816010465 374364301 598341248 295039862 805853629 732411670 779655003 832962296 736208687 564326653 367253938 228851075 892159815 579465119 828517453 843670098 903881333 429001651 678201386 877613612 505254952 535162755 777442892 134886210 649109980 579625080 339537096 176446369 685988051 863081840 209821015 239248221 414024828 141264737 261424730 632529362 869882447 334526604 169154869 367541735 829812219 673242746 471484078 725799590 981254762 702393227 949092858 462332127 267052776 786089645 850402582 296535885 588104211 100093558 630356627 381296666 909653420 571942125 714738852 558673883 737382019 991301586 269528256 913100823 353920638 141642035 118532988 811439356 603343603 310512370 923866865 299776655 272424493 705928754 393817118 897058809 244731807 886373521 268137607 881499763 434306852 836567031 840100752 860458047 773725362 765469419 959084699 965630496 195173110 324476542 103027768 291082564 450452444 520210054 336304355 494085107 781593130 345692113 931422582 882092385 119522291 414834353 427393398 963651936 455110631 943679958 391981386 518741350 881794989 759676785 830305052 673246223 375349778 357644213 244022818 645510519 515941017 901995182 887706086 680636739 235428766 381565946 723806571 725285571 927885158 316980314 596752181 789977663 104017885 339362747 954630355 617416879 430620043 441863026 943984190 880552328 191110958 607983852 681215317 279079053 761676632 699818336 889535405 903067556 134950034 179488336 614965915 255262150 602232478 261509249 976378601 934223246 650479039 904812486 144577404 686869103 764102293 589767120 828416749 728993218 858044802 409270299 177144063 115770302 991270233 364608542 933349047 612871623 865349948 507822864 954247937 629387159 474483850 303029909 431298994 375796721 683293113 107005717 827164383 124858139 384824867 735656456 656045331 169052170 712269458 563613472 404165894 169906453 551652857 534306168 785188220 185984887 818126217 141287552 195668820 669035120 926980930 437320323 999748922 509332803 695687486 855031858 629072449 321984105 539225865 701977451 822056800 469326449 931931059 588373091 876411380 750069623 156636928 459281486 436074190 190873370 768488769 594722924 167541015 354787135 854428090 246738837 586931053 825241604 675248355 333001659 833888694 175157964 654388225 711713135 402879045 529880852 624313505 649207503 743413768 616964404 584130516 504587857 102410519 555664549 738393947 903070979 582755182 912288672 884743846 961314530 103663340 222245793 208740693 722951009 675028423 964325996 421462423 759419808 490891953 939031970 873752639 152389719 213355472 341923455 260951381 693823408 880593884 783215684 716605897 117126250 626086259 694129166 871349102 901252456 852110128 153307704 441544027 270748660 193275816 116540232 600599436 278679005 215656390 398296936 838001123 637125769 866108343 758330161 119815114 691248946 109623903 726456373 271616195 623865993 115012779 109531348 487876859 667645703 581123662 715729756 428841497 435260349 824035211 200846364 674939835 838954768 850630004 985903426 759951931 102027734 535934171 156012558 645942082 772253037 116499249 891351055 461063977 841715048 974749003 217249376 645239860 654485227 932039602 357603277 916431775 210641120 791172239 666015166 433497108 444578636 817996426 353624816 719120270 995085600 686891340 481457183 727282908 931228507 360029129 235350078 853616920 643044945 177403655 707429793 415344855 820618898 451388727 717579757 728834004 394427898 397395838 964661010 729553475 318974196 211067182 423308153 540989278 870922491 384398231 597360570 235468361 312673787 983226800 563931460 787535061 691194133 115667625 732070340 652872632 139973072 906384293 138065485 559196070 872375838 500181494 987795183 356755010 715544258 436557322 613958153 470821534 166377412 611988569 844685125 545823915 946503111 102556289 151637704 735326028 942229679 370129204 585071358 848913828 229097804 464631398 684282259 854898682 579191771 324904784 729995865 960475780 925745278 648001049 345497341 517975463 432757661 155737071 139348836 867924007 987030951 336743971 740985814 176359469 449835271 854014971 158841380 677378643 679465716 756387124 715763110 455128237 116146259 163496163 331850515 620457420 177867341 766427980 869936266 613427976 921548287 446378502 965654080 726147743 827673484 124649814 107948714 276973472 720325286 450962421 847152338 744242234 405452937 337856520 858539842 680179641 446312631 279342423 922884377 831156705 365878203 539928984 848964352 415912961 731974433 680971747 749128231 767192680 355377097 179632463 590601372 383339211 850976366 419484941 927441227 862505517 229196856 993579737 676175861 654141763 603092709 930790583 602713116 422841093 434523142 923616746 986333317 319569316 261494748 711278001 826967360 297377915 470175665 528323589 458262402 925767385 392197396 509205247 351344142 505350066 948714478 212696064 885246036 205794668 640619685 567506229 440250546 906427178 567072686 293924965 830580161 553840478 561763248 698295660 364208401 278099783 229878605 305583474 868877222 866865958 722415043 137426414 277684220 885403456 853238459 155484847 495985904 878427709 155308241 898070484 939168870 704828563 365279453 551487495 835237998 340208598 916755384 154623740 842173850 990603053 430066409 864067587 263778160 626180798 252402359 871798236 575120000 916523364 731627378 890934748 546453202 789368247 913853957 969570040 438551257 950831120 948309095 751677411 861858038 529034623 445513392 817057732 788780991 833786831 398755614 427536742 865697571 535062122 666112464 512205902 895858206 732060920 436560121 269989215 497449906 243341526 692192809 890593540 817568804 636194855 584643902 424834549 565020466 351562529 360633455 514160754 501042867 762377887 770111784 777040632 685731688 286009638 611435603 870453282 276597426 406939541 404473300 810114882 473269921 748892834 483076992 165176327 644350438 954493165 471226077 310290310 559050550 346191208 872129797 711592297 155287387 941057903 303574683 872210026 548713068 788552574 313616737 450052610 571193411 799505153 553916355 451856214 942119414 874090112 316789622 491338005 799849733 346449210 336287467 253997623 572046500 775743261 869322763 514487140 906529964 484469707 733165184 536754546 261052032 333325157 385792326 155382621 428418744 199166316 566767562 806238321 901260786 173882781 265751800 863315823 691508376 783623451 715056940 172596363 277119925 629237440 419288097 148979696 372320794 276342642 189366879 735736430 556261514 708412988 306906275 748837880 913925526 581175553 671854265 737236445 197059300 433676840 304054843 352471726 278358895 560098090 672791365 682713406 140879759 771213095 492704711 603636041 811542901 751756695 524050583 440988882 548837830 285732559 107814165 159509153 788735598 556659826 939826498 805252220 616321875 636365894 950586500 170065519 183362166 466749618 956141624 735368677 459833754 245954052 473590297 168391249 360308784 876773415 313031782 325501053 498938852 671120228 264596699 617226985 660688407 618292548 849815242 826284908 201327997 326515995 143720714 561913706 754901155 225919271 756117859 136478377 238356651 555102374 592755796 178596753 398246617 430033007 421085452 803618510 541616447 155818449 997063377 903818864 112308191 984086932 604150536 778773980 742506675 876521635 883982400 288480988 209788771 364570528 629406279 521765751 899910541 226468885 346850167 357429651 234344131 156223467 126595190 421593802 601219253 697815640 989087281 163537006 988624661 724710738 479211913 226241628 346769429 312551531 709125055 594170660 383334649 349818933 895183996 856788969 455542144 797214221 715062757 102351651 410976190 163025725 298791374 552377069 185710574 515196128 198051964 633961514 517986203 882904289 562042942 113878704 987304851 890884048 839012762 616739577 288128702 875437700 428194943 228162937 264180881 757025827 215895267 530579824 975549798 343551597 317101316 814772951 720730940 771353000 256066501 561943910 357385994 912897009 938149701 519645757 604837427 839235681 237268621 200791166 856409791 902267800 114701000 914636748 141192256 869603545 925265676 147431444 963536501 975154657 505130523 186777570 959326734 286404098 574887091 640084417 425524527 502705744 552296408 543645102 496092247 403804282 696004284 591607251 513276494 879917767 188374430 932521444 350481294 522940351 867156279 608790112 393478731 700513431 299398530 708640450 633919780 461221226 895561583 710554822 113981251 597072637 182948509 158176674 628922650 229028925 434417370 939279480 181364893 936758093 193762605 724225406 826562578 972077312 994083713 668520839 914831189 733127180 779272944 973626778 830075928 394255579 958957983 681198961 604839282 682024439 394726548 684802394 778610914 121624338 600938543 509748146 606368755 682649756 528616539 690051474 800673379 103263473 858143665 945427303 845155495 172321460 800312233 584726941 624155319 405388017 712779837 640059132 764600759 328375437 816599309 481251734 552761728 894825243 428206172 347834766 995486105 116139721 312642119 426254184 537012722 330340615 356957374 392791733 757111693 472980204 350704680 675837123 718569883 408681765 284633141 108776135 207867490 836782291 998013792 634861043 510943363 804585712 966228215 356579567 837786879 747889527 847861137 533877997 675591875 945304882 294475862 913477157 397552700 464341213 711662572 888378310 491307041 536943300 172702850 967730670 881541851 449099005 623840273 219191038 691862708 382154930 227462213 720217136 820473699 889108449 639618512 127958033 599568059 605669824 587421288 147323951 751071772 987985439 348625831 255335970 880957434 442647567 662147270 892801899 831822720 747882766 738174797 299401408 663468799 292106162 494508143 139407854 441895337 155960619 702944976 964453112 933440719 563151696 253436369 262254020 178080647 159295438 213784768 853186693 154074486 648563782 692525295 526041750 666524337 524246388 203774967 978472085 830902677 218106223 216912477 412892922 721444243 204447565 393886199 346490690 205628666 900565759 719131662 326789461 393970286 426919334 277159627 954189971 145280615 835829586 784546544 851063244 559268021 403512021 970001897 592292881 609579009 765445891 948802891 569645992 929130387 141874371 340307479 824316538 184462461 448415067 172511667 271061240 498009231 589526077 451521555 391894232 325289807 353755841 439759695 799847374 519287718 995264770 205414687 642600839 325005395 993132844 492911087 811524129 276848481 817656652 692136763 723408957 816803862 641359160 796667532 142388005 465217175 395009957 800529469 641313298 665972613 521579153 755173512 502854244 250469342 609012977 739749776 416398040 622187464 426960928 467347297 546485499 935694559 367549458 278841123 941372371 915279185 145234065 733377283 791837316 531202181 642902241 745866097 904158499 914826311 616537238 501404903 372611965 972688406 391440063 403851090 486067232 168035407 682181711 794165883 395306475 147238722 739989707 986045161 591275030 485210816 618884782 953358752 938138564 624042894 491309870 393947494 309123515 604606760 272364151 646904721 619427622 786649013 595830621 184796994 587908820 567925508 190407257 576330375 238946148 348165108 402217402 906457627 872612092 762469307 314550006 356635395 214992027 939643890 809064674 296132558 127977362 138978586 733733283 985496021 842818523 629553300 247421761 492998644 884063590 585968072 234357000 783173449 467613094 262667112 964360784 218379489 919219309 640609842 414199755 588767152 386592916 441542797 687832485 335565141 639262075 939329130 760620944 709818592 544958966 312742880 316985948 251105347 980631075 361241128 492488016 796543643 584854926 254368204 403826137 174323109 957890127 378197489 664289514 965185582 381616387 902200543 695243990 817677653 384596662 185616601 220563954 196821963 480946036 740869830 361812454 502594620 879228880 189937727 602281200 948193754 456973034 898114320 228249452 893904163 206619554 327177845 697890172 729075203 138636218 262745364 156731790 585019748 987966708 912536389 485337194 119184351 415386968 884211188 549658277 513927316 913424831 532934391 267330495 440193025 495962605 167238290 278810122 193613146 174145661 788545509 841626184 964178114 352659063 433916258 808154751 501199266 671455858 364405922 258534060 158570629 879387753 744617536 468516907 897615574 558024047 494246635 817134592 330016023 309940430 509362753 241102720 324787395 929446488 256846234 308214110 606038909 370911719 780995741 385060900 622043477 651050186 904832127 669404603 503574559 926504985 158370129 459608975 146607091 827119339 897627139 707354078 538440723 836202530 292069595 655329045 929837291 663550261 528798092 438096830 295863088 759650714 718431096 478548837 535898135 681539823 511072085 705177546 876770330 756107042 882395048 873144231 349373529 571340644 334413202 535938239 488596780 394560132 977507324 542806303 552469219 249125061 121489253 683832537 274674101 579672187 881449656 630091509 425575605 377973554 282656388 376609870 719982837 218507482 451998958 180373855 894558499 537085699 324905128 831708176 148623778 454906749 331424362 200243417 630832396 224190326 137231782 390096493 417130456 379947784 889298292 636469189 160379809 845882412 981287499 587787649 953385916 424518595 504202411 106404016 650596281 307030510 551732942 143505179 173981441 601609875 897959480 595003612 360262428 290235927 934047810 566530986 717436786 577610159 115084717 152246244 969848896 987585372 122044453 473478347 521813089 904333648 918825177 874904160 861631194 170152076 544623403 574301800 365487107 950175618 741569855 970542766 949067139 802997677 419795042 467818145 918268880 843851309 702363746 280343086 532502136 669652319 879125819 319016871 684024794 754364489 406001774 639119447 791268817 779100094 354544484 292759140 560332832 538558837 738580774 924790066 302720355 160224920 786035935 373483126 137364475 788295143 857817983 252886651 307171501 994245710 202578060 180038720 212628249 907925837 406033155 880604819 954009133 819610565 494638433 525273305 327989639 763870506 860348570 320227567 357408526 233235412 758847428 403358215 603224687 318922508 517536727 281523317 572678846 991291238 708638009 234617812 869822338 560006364 400926781 700643575 535148141 222356307 272446464 775034235 333117880 584898645 531069151 839865341 107535538 256209639 389243028 341256044 708789949 445141594 770975657 828423776 220737115 232412743 374937779 309703761 648983470 458656231 735683545 673924190 641153202 410384358 120583568 396231326 385861571 747121130 568275701 985331344 148380531 491080964 522986268 841796975 704395509 915032338 834841906 137806200 526882340 901180454 354110020 433100855 684916062 413012640 409148334 550002287 555432402 114159282 581011639 893890062 900215198 622742393 747371201 252418008 541904705 408706462 194310740 491558431 995610541 843388280 132946082 136345369 908726231 718528590 847645435 641437685 669701982 818903090 346100909 444357786 974276103 569494071 399392894 535831979 956424657 481965365 772294678 487947786 266670054 255981795 609835983 987225983 110148870 770787384 796298039 703457467 211616040 782184625 244211476 666276486 644830375 414009562 872176815 777155935 251726239 714419160 995740807 523414421 863896001 197746698 796177791 862850741 803725157 264810047 823047718 823014643 746507022 476909274 751255714 612040995 766747740 346497213 249059128 410160198 431246625 584544774 415282900 191583703 510620862 288249605 884295311 304078862 497698540 458583402 535929283 510405528 984918200 449370314 616595782 158957898 932285014 726968090 894156017 432232359 359729712 328679708 189942515 979458586 541368661 700444637 662209088 693768577 371931145 801328394 673017529 443802246 155579744 699143684 268318920 956372822 912486433 882331420 160869404 519272130 336090093 521773634 771413390 424259256 452652395 729396488 666323222 316589786 993145645 803782597 831008816 490797732 551052860 964710844 132873888 638772956 210856678 970807834 511541557 227058173 973994312 813278169 172516261 896213857 168022629 913612483 991155716 185518935 156142001 639858061 220716610 961016084 700897024 968596878 854145341 725551083 990590470 775288358 944652228 464902914 842282191 315113032 383385732 641275820 127021651 465262468 613025456 609850242 132515019 327494639 168483222 793357132 618414717 467875697 422313676 413088608 430443286 113144805 892919962 543977792 729226176 309329095 710824741 398887365 650975787 874611038 537986617 273298627 134335907 960303627 927223995 594997960 428267491 550728242 312368444 548586997 214068301 251533365 364798951 160164440 683495507 661418352 345903870 407558515 641410887 705517288 209699323 309540531 854301896 256737894 275463672 404787302 616008313 299811657 437979127 991164299 427351988 365147992 814119821 179275470 451424236 675551408 702069184 118258378 650865647 964206108 904487131 958809030 109030745 657994326 995431265 391955334 515012224 754282135 173673436 509867399 847411242 827773066 866777073 502117154 978606041 682082308 489241514 673904685 160156166 112780140 647634812 685838042 383873027 369447403 861536531 506224935 272838856 662300894 370504968 407338535 621900999 950017410 486300647 796585212 108759773 869722177 869360978 364208938 873345739 841687912 493830242 577977808 740233270 249390315 304801984 644418259 445640622 892374531 261898774 810235345 461504468 631092095 769137214 614886684 494428971 726140350 350481814 455335114 450613677 539759108 358376803 314895196 136893289 698253571 751517322 976303122 423622486 985974953 484960057 288246376 862231222 521486734 284717439 791020959 144743694 161207125 446812831 273103989 454485770 598813326 426706938 106655539 186494634 689986524 476741683 843335296 942517801 659514817 587183134 707369344 922998520 819526923 289136902 968832390 204627318 677945784 261203245 145246029 738408745 728432738 493026281 441917104 187546307 661078990 920096559 257666050 473715492 875221667 401227062 788081750 478632459 743090204 235227807 808461870 835850160 518010879 213178802 647229344 656007509 224534771 564213253 988907336 727171640 859366079 725631658 435224208 854366465 246049476 196892332 202558877 716971767 215564487 122738951 849740261 290982867 449956081 464190767 533150104 685919585 406810948 489368555 652771040 393089683 422409961 241557768 507213874 255842053 160724135 545990632 553078214 461400330 875318424 231585250 782830503 449656405 813709896 686196309 357750980 867001736 236145560 957663256 539645169 227878183 136842466 963298345 759491245 588599092 866290069 823487517 430701243 359539092 428385611 130652525 354508922 927301091 619391540 780866010 583997665 385007671 949541845 260074035 902587233 688371155 529185065 783070614 262365983 343240799 482746977 373721917 194632807 129183687 518677194 678424823 100220345 807539784 417769890 509707485 741271342 641998412 571737872 635923371 853317256 536742281 617859622 331431002 827700211 410903100 316574260 272666565 819891179 632842210 899073101 298569400 954117710 620578439 886662987 709164277 333769081 848400406 179609440 689372345 587158918 971782369 312060057 565675184 246321113 228126086 740215465 630793369 813417814 679505273 233839604 569981880 569134186 392790354 236365544 252701925 535179491 801782760 555411867 120689921 253599700 857539528 523637668 477812985 878064107 219507727 352143290 616353479 934312596 685780605 489594100 127148514 357839438 697331177 483629677 939470851 912500385 609543278 154359421 954147338 654293971 328185446 977008292 239867674 392428920 386468827 657696468 566003850 702152968 710502473 802729861 447875837 406293008 678809526 967553710 539116789 899778311 269146789 113554076 209453323 669587151 452007120 281442517 993840647 922749223 897153408 481708265 351011293 562973743 721849509 653661622 169824160 190215782 517545993 632092599 965445738 911315718 311719505 203005086 669173942 624724877 848937586 359697238 705960970 270163382 619941116 104977394 197469957 231799774 455637832 599068949 774543621 962167022 130020855 276278196 477603249 927286267 560953466 238830233 901246289 236098369 196408105 246097032 669539132 916957963 723621848 456721408 666458947 706355439 330219224 693507818 474439786 629828594 607782715 291852301 532980216 110476890 496182293 771393192 701383213 159319655 415782785 600218841 265511424 171157303 541495424 442685447 326819967 337935817 123790268 699978878 382997315 763114573 248882595 441190095 717793220 938079730 950920928 432161775 326773809 644503014 967679456 628998359 143581981 466654082 128872980 157478996 338417026 126590172 467317414 456419911 468869829 513974678 188455483 195228294 436588725 562193134 340073011 228317277 438083167 721466425 991215476 478139839 417318049 727794899 911346477 889053098 425572897 163922375 501746316 636368276 174226117 139602359 213751627 602568325 803090851 690262638 455525936 830222335 735092303 333421992 902740459 277186690 721300787 820950958 768489063 935695770 332824636 365669145 675426710 229084470 729577188 153371573 276907707 983264013 989003668 242923138 526185065 668146780 641678172 879781875 215878854 968382190 564271284 795557870 893988909 860846705 302214388 108823024 618758374 531394371 913146243 226776504 966229407 995576345 790292560 490531017 105006541 461067061 931485940 654525906 829180361 568058718 931058778 877661134 662313502 687160196 294695636 585882961 680483444 915079013 169339122 109650058 215838851 118626329 325704106 928047562 240658337 320721352 412290613 455159956 936951765 815359816 986576463 656650746 817872485 472196745 782584254 166400165 145270228 689522594 232179876 394791642 792445000 178934093 202983613 465702137 806363474 991616605 950373466 782547318 971311457 765070174 828550230 945982289 863667645 387545286 701669745 143372416 837538223 786939087 326958539 116237076 761358503 423874205 884318817 395689245 518901314 223159617 326083993 377658080 985240750 491363441 377298132 359323872 461127625 267930696 564370726 437228457 131479370 799052460 180170061 131975930 210264806 740664429 199851309 401095023 459270918 730287821 532613298 107464756 787698408 168378290 285927845 206983633 409416916 692902399 226255546 500048425 592252422 816314433 908379957 846414628 282503971 267555012 507636893 609373107 331642263 884059366 886039239 508389934 755421925 667919059 491765867 431015253 474754983 465030720 210622828 752004183 977418831 257871296 981743765 587507777 569466154 784480527 462846232 944345605 578536729 640983151 621606996 739490894 626574667 460601140 252633616 556900415 176184885 650554811 982491442 416910000 247748369 423664671 434019812 728586418 697778135 269733139 375995863 118777402 450533847 776286476 615298354 828254234 860707221 460253338 890918717 168239149 323234179 745845284 209549326 235107433 666217311 622966005 739180818 556725320 914659064 323141133 501834048 339755803 258787135 565479797 329040939 236051576 573852873 120094230 912292750 773883329 518798056 165057677 859358364 401212680 979951695 488093831 272420179 183920949 162316680 232587752 416146246 232729155 736519720 433497201 206321395 139052010 534985946 854807388 497976465 178096128 911425593 799284869 291559815 698125275 743778960 395256295 591913040 547520064 768913483 957481396 486894325 288529005 967390938 850819234 201343821 906856481 117202282 481851654 833337802 668341520 281236277 207635369 241207115 955000648 115602390 511301080 372495682 992460261 853472645 298329474 553735083 229907185 619548766 485511519 130779962 730728214 704858791 848721428 139929325 410664519 789210749 175961585 686015538 762823253 193972738 183162518 588031012 785789385 942078169 787871492 683962526 608631620 209329104 406501891 247659432 907594748 612092099 357933883 542228063 917768063 738463063 251136728 145352687 592127679 871881749 843994993 231976553 704450212 536230289 106844741 851347764 350935852 597929218 302930779 513594134 211110834 741855291 506637759 329765252 174346406 958331417 327170447 686270201 659458957 759145614 584899689 359105948 483660819 445719711 532381346 484436564 118770946 250606873 504210370 265129370 665491786 124869147 762783147 780677677 631293742 204211554 968697959 491891799 830936212 828770896 777566967 648310292 929447120 185329415 914185580 186153387 201387995 172826710 661248317 373459403 433609236 160213180 309121245 548428542 918794574 573921164 372582376 545624252 591483564 871771708 167879600 923035123 354297740 947905198 617609285 171815258 683608820 461390060 343419870 465113248 496806623 138175756 698012485 124604704 364728727 323709108 886417220 492458360 977069758 791623875 298202621 417820268 300230065 319046545 414744055 791672042 520538433 943344477 465608975 349615859 511934000 628669584 244963090 547604187 317583642 746216576 609939688 438547507 646606371 869614999 356273820 678831439 158516063 208093806 478469406 416127253 784325944 526825050 991933150 260156894 222375645 347978174 238675579 428270359 141763019 668142148 284083965 122573940 504591526 265192803 238900243 419146770 800903139 774417836 536160476 459817400 581019720 849494352 182764500 554113992 446408819 821463120 884005622 287332060 622353525 783833700 758398405 127646230 374683383 476740857 897133259 223492325 361340994 977843101 165668463 502299650 529679025 175212583 636343514 148564232 641309538 382655303 762262570 458123835 729571610 324231806 300373917 684134028 447750407 260289738 976398411 418018743 566508771 158924593 679928802 730265068 808446913 710960698 549099824 700628692 317985971 190361237 224649791 821802811 456444144 442111741 853258759 200997874 628328823 256126261 524846707 531938571 126417436 875720205 785600576 475869385 361373815 793171301 137690562 658805624 757204994 500383535 899703394 784251423 964928465 743815539 929385926 669461421 104112170 587894013 317399604 841104886 408889583 299131717 857021757 320084893 465528458 104397751 605638542 792136646 420279208 741879335 333323127 957809208 158531297 410753035 513376079 350076932 485562929 892674676 529124382 949186056 328513652 816642009 388643905 983148286 578334840 589561156 478342024 313459103 479093984 109738833 235683670 412904988 650214799 894155318 929154271 437918138 227593092 300948784 569761281 717409584 238081551 705530417 395274402 926169294 160270174 184468291 662918763 887109879 819529486 893917724 505226738 436811463 900667146 339729945 793333987 154995456 820171223 260701439 825698895 713232458 187762101 836430684 546932919 417851469 898393896 929476436 523130104 218399556 272042950 333974485 355352443 277776957 364793893 283429245 124007371 197335303 701898031 131245145 501278493 628672193 806688533 800287293 889757862 562834477 208129954 559698222 920768102 171540488 238652287 181412127 211177965 313084315 152154926 200091305 842398327 963383399 230448248 751749992 891314168 291570976 259113013 701226191 532009279 947202745 923110115 799773713 800180284 926650688 313096423 924459764 154688801 978457556 847891402 146794850 514794362 103630075 283016514 687872837 805944384 730437040 759087055 463305311 497120291 485157096 624640406 816610667 506755014 779978617 859965302 129514578 710355009 857725353 929828859 971472280 549283491 675098251 295663467 599904797 451059986 660704273 114393666 396244110 517877979 802584771 167115756 434566628 359717389 178928770 133835684 797518292 118540790 970521164 859726502 539562817 981605019 754335669 893844977 812030605 503941410 838002065 337026741 333538097 510247223 438014206 693726221 338138348 491895328 207370072 654866304 812847071 393123145 691061686 576232734 296555748 367462194 857449463 271593718 873273374 380315209 606465912 371627978 957808559 343754370 424092958 652768831 483397630 286484642 304042102 198090429 158841493 808040913 503111434 979732486 131687673 153845893 663612373 644685614 742454629 852521024 534983819 810278510 553581658 152777662 566684948 324411161 916766798 744092199 487404978 463622020 959434972 205885676 426038727 493016503 810168323 151370767 672803925 126180680 988307383 296393259 516685540 223535628 901262817 341349502 926362560 972926298 433974267 977097484 812330373 968056491 866631594 568400583 515837801 111382331 342947384 248122496 861282124 846821011 949559454 232895674 815007435 384766278 763041510 426874579 324685599 870289504 310408000 770368226 121272013 765789791 222213631 649159501 810478933 926952565 633802354 106083128 449215925 232670542 772673869 981096876 263653272 745600729 340329862 413108365 704298981 153863416 766099257 685231770 302027597 353145497 957459927 161924620 124801053 276895165 485278170 926857676 280147714 978642617 336785763 963845524 279756537 941198032 251529824 303907971 460484308 466442009 486203027 250363381 128521613 441026491 255159332 194350450 929217275 797917805 778780782 661500388 706825727 956773204 402923926 770936572 750807292 494042061 325745030 356608435 441120108 717144992 459141357 818649391 793736072 590567886 736825867 833095998 393958742 189990084 980130391 758913923 209817070 506733750 494214863 395618405 678001960 282611016 219961092 462832279 700438193 811098508 811388017 181834308 295579912 209520522 272126271 373054376 230660755 293297763 940692135 392081197 295573575 199810950 691239736 252224383 640826688 478559221 347446940 598671258 707116998 768345447 859146307 620907244 606238285 930497657 471821395 497984749 777312654 433633618 841926937 187909385 528588892 462849431 470624112 527836498 180727179 634662094 501557132 167673569 884517860 766186632 290534651 663935438 284366846 198852917 300017008 685705792 141711086 749513169 166494963 806079221 531693047 729011850 339452925 533441451 946309749 141365716 940125937 196942186 460399156 508967441 400725826 363693164 884494028 614643958 898500395 785500214 302715657 291179143 994431577 459847435 168690115 622254531 923553717 337794895 425272066 137066261 476957550 628210995 992310071 677325851 583385874 421497065 126215929 682808408 734547143 173639410 805751011 120986368 423162137 379093246 753274157 441048817 388662692 919548460 449022312 529360723 104064733 191518772 418194445 672846261 734858165 475446828 704673305 366577533 998634533 344128770 880070287 410083215 633295211 990260133 869903767 711958641 319616559 106923611 835946251 429680634 130495362 299966924 506102956 424636155 827655729 947754596 399226972 367658842 881936766 797778714 558087386 858751293 629637192 839373159 367433560 442153157 592517021 524116678 781501659 364940142 657729945 158846459 324341741 145550317 241115555 654539920 732823427 366014490 454025356 604624295 645282794 984947200 221169951 371486983 994685683 858853775 541866938 724243723 396528942 337610487 636811578 279135561 886527988 404094815 752022783 803147311 208712777 853110836 948669326 375204810 105272294 472258056 848498719 879084037 957464896 741501690 910610310 258509278 979684533 267994920 490367953 283190370 759514187 243682552 602372836 169644076 501546069 528204549 967303336 402821082 152736010 678327274 200785552 896082339 152021431 540518677 461567056 206485409 128380932 867697541 554715291 536642302 900296834 887242084 473085475 455750097 588330571 151803082 218459162 682539465 437488651 460044826 988813145 435978938 948362652 576318530 222995813 591529174 188869997 380340542 336966851 311643055 329427686 142240950 626237813 477331443 587373832 552040716 622281453 453718063 733359073 324408198 747788834 185129035 593128569 486679343 609655902 989093671 996116977 541624125 528100400 921728050 821205943 758243034 677333220 293799919 369521871 424470417 141438013 591068645 338852408 488442878 934623525 808791484 512710816 935211567 991636767 373927782 852919606 357469270 573407418 531393531 692643194 265591504 223211111 494238072 531189894 620807738 620089293 248430129 108216609 270604186 756794984 403509066 394335791 698019165 875789323 669897651 811851336 263166326 701303009 990141876 923689247 233888505 641766871 226549116 273882389 570335539 600492048 909168241 963068431 656658504 950759981 666945137 913085254 476529349 869489808 848300520 880695037 358388805 874545619 988665664 875383178 893968402 851805366 323312815 634724577 866902960 803491692 628823374 656520855 432727944 808296511 241425551 686136619 189418746 921586610 307341413 788780510 987403374 695951001 634531974 292945803 181222597 793673975 852631522 408060296 215428932 804717977 970537342 811627916 406142670 658054996 412285711 685713184 551551964 203579666 279751308 468760199 809230592 785432376 175984981 297319550 642885602 666764878 160844670 888446691 899527873 270238507 976728343 639534589 755554921 990772602 513348949 902562309 755539796 835425136 971729611 907750197 630469992 737185762 421818666 317320238 656952247 255549324 386982498 947103752 173222628 166022315 619517771 358523253 659719709 207140700 858339774 440958973 389111998 847729955 324919550 527529056 387692128 905818385 315400872 323025173 118726368 856311507 532162086 990749418 748991132 189973429 793381677 308029352 671944274 298226437 155161696 742822378 319336171 101844778 113501900 590065727 978696657 455028992 250063566 629746280 342317312 175549552 238397181 602146497 577316999 537771188 651687197 167585954 499052173 577746270 153029833 984831248 185862394 977727578 362640945 730219892 973019154 224531499 806099217 833830030 143051824 693588427 383844873 186728317 890090319 438378545 187085464 809847774 445354674 781954036 880290708 869856083 535971906 296359358 559233680 692343111 401399592 997820771 965851207 836245874 365479075 320162042 237607389 342438780 872156172 377849486 303589015 712541230 376382836 960303063 488649021 908984614 386804860 496369083 374310723 782950099 739946255 604278713 441633628 683521875 498817921 394308414 522337651 117151212 311464851 108538269 879436394 327557262 117166705 224389369 844025284 154920571 494000021 198063074 253733206 796302679 170233759 873110476 659956379 433595224 482550045 480729207 614463867 179301853 690703954 731614814 462705753 368094904 833131148 429155698 466579590 780431277 147015049 491473979 448195652 646024349 692876039 921352415 566734869 165151542 461770850 913044580 391949413 640320790 940727175 303716064 512059329 222033359 685158840 302516735 689430816 861436752 522559080 527122014 393058572 349790552 351232875 318201538 444651946 339600490 656042407 792773322 166976388 549384516 857938443 528548463 877122665 525217296 111514221 377959268 895714874 774927666 675677831 176620464 746295727 331359956 493901270 796658901 261395947 817890219 568486781 553691681 628745695 881042773 511847092 739107970 513599289 739179248 741205477 727445548 152727541 887434415 508889537 656200543 361342998 132933507 502673357 992147459 862106555 533965852 298781500 334700421 232587307 940532648 284497747 876498904 230551285 177473132 545065963 583013516 862653877 325684558 740826285 633730016 129479432 925739604 808446718 688666518 347537786 363260003 341409258 301300316 635724224 773939694 452221418 183122231 774325345 123268258 221087980 155779063 922268601 834626700 619147091 497530558 393366562 841434924 579865312 858294946 890573009 813192781 679521808 726017735 915699058 460797243 614625468 863044910 393603070 463039309 112600359 575960698 911208513 476964989 283891773 552853051 436477307 575195184 372578888 298908959 484941549 381455604 172272963 217662384 193648852 431084794 301793582 663326751 519677085 361740923 544287032 188520267 493863475 882522394 318784258 931196563 921228762 447453521 519488024 570282539 648438340 357465783 574557672 111846058 528927445 160087959 336308963 135674312 572325474 119075044 792967340 287867289 488974632 142181107 770761453 355375945 227860572 507254357 444874357 749383367 655959509 464760793 552224424 890295957 510492286 960807492 882742759 972718393 140621488 337472709 274560165 638497198 201233011 138161667 307431233 266029230 476938215 222131020 177408668 661790377 937001444 955602812 624990569 686058640 682518779 255119481 896258073 948129175 928603196 133158328 865810774 250168886 884189815 139054784 967776804 835070992 278245977 943431402 128665414 444539888 689965651 368805191 897169261 896513037 511741272 209386496 392993183 134406652 468642640 358556084 987514740 370207128 391883360 407453960 312596108 939767797 150361304 739277345 874427096 708148627 469245041 655757302 178762032 581192709 735965026 124151786 908534686 562788008 644390778 206844855 694330323 464253674 493297370 847850588 998096132 741559642 464274882 239080172 990700746 674125872 144666955 898270999 981470685 567390941 990393977 999599419 782307710 639409170 644424163 220057168 918818526 611490364 265014132 219024028 860469378 276472531 504337021 330606446 490180972 681389005 544817574 344556999 610287310 872980918 984039550 242120650 243295296 217392380 686026827 638715969 141913473 635246419 306939535 983941471 426188681 445016596 796793272 475305404 419544625 807886792 613277927 904556588 185290172 498027364 287127588 365940843 812977232 418029253 683062620 266543430 603164283 545516882 598886284 410689179 947672564 119215105 304736613 327256410 415462829 122556089 796990789 107295857 515350289 296904167 596314022 605482138 806543995 964262637 911303871 515738951 350951693 242565132 590676145 131075451 965840211 631355092 458566590 682634644 111203302 658168511 209836207 423588643 561507130 752468335 808674218 580403263 490136645 425287530 505362228 834746091 512564954 769200312 950039650 550362117 235367207 792836441 936363062 126111771 163880552 173110393 486625467 587311689 283588302 898246995 621139685 338179871 348134019 581303096 182200843 426363583 414229555 489309305 642670138 799107021 615157104 617863539 308176670 100865820 580079733 396025212 795758806 522204446 946635718 793621177 469155525 683658930 591359692 611868517 647854414 905052683 935539258 268230321 128622931 266345518 965925082 704330186 973349858 888973665 525161103 309829844 883060475 336701281 443794813 151893640 548970123 281784346 173282097 704549808 942352395 269052758 874755273 220894241 809918834 708270739 916316317 527896563 983372499 979308389 752045318 914099549 608369050 480847089 854581792 785914911 682195592 125574985 213414639 586944008 222295112 935955419 772614577 701206391 103509722 431326413 828536496 145679383 671401329 238985476 200221320 142363101 722881422 324976023 172302323 353187678 572319939 861915840 858357540 304569558 737088588 736898154 270282306 307428084 973012527 655374241 716860158 185198932 837823777 357233570 250183147 653908839 828538269 408858417 272543143 544779855 566475400 149780864 127849654 123000669 590974489 628702270 595065537 919147699 172009012 844236965 234898445 943567704 918391738 996629655 542290777 939174757 128969131 607148940 674045385 871048888 641443474 550800687 816041505 661400361 891448826 166168162 146944681 932796467 645598816 739173973 305002978 738469021 361281399 684937160 640074028 542600621 810010985 694222709 333351348 741981931 290647084 711848434 820650478 887854712 796528759 903919530 788558240 788801613 182445984 872341364 943326255 373065861 419196043 283083090 609053651 966370933 306828318 831707118 996818708 641517776 537203620 902248092 505458771 973429178 319697085 824378943 927932467 695842521 501610730 395106593 179115876 481601430 231311342 140400583 879206192 856739311 238956433 221885241 319790948 209008310 708958711 912622776 882979468 904503163 495599538 101542173 481378218 873189890 833153567 504981716 169168270 986847654 180739580 780586563 972736297 791804446 565717117 875732630 927067392 225762467 676792885 608089934 370881847 171707823 593763946 601620444 579715439 271013150 200175540 415635804 613441672 838374382 272694845 563548761 314648965 608086620 402822668 457682228 628043175 411961548 269782529 191750779 174903168 293226470 929493943 485371904 398882222 679179845 675685993 172746863 317222487 907814613 157547904 990158258 657296429 957598977 387059489 503450330 588688646 366958773 787117636 840482344 720865827 142217806 823185939 153296787 195357223 334386535 926267624 599398625 626980540 493798487 586135494 678815318 560651873 293398277 692522805 617113428 422859957 799448265 901012962 594388908 750183763 272853462 958726972 167107386 938126714 447428786 867827020 386306400 747181981 151100208 557677227 136627309 250222719 277421064 953812556 457929511 116465347 883419027 393882641 652240422 714259981 291187259 124411467 489301918 928321435 191437671 346392787 454967077 830939439 260098142 141815310 361684405 320135517 817349135 403356564 262490851 362014563 877138107 621343794 410294532 864857048 397690437 798916095 732691079 956840091 754322847 610439332 287832442 608267161 476613199 983102764 599245979 336113122 540261348 231550128 668366826 250225960 940944884 906608145 306117522 138311034 559523532 517682169 933130125 680809752 332128601 285123293 681874200 824733250 854304153 967620187 622752537 777484104 724418544 771338744 550117183 556760506 624429459 847542287 565009452 173452029 812030710 699271261 614910344 806691338 640948324 271187911 182293815 644832039 300285431 989330120 707917929 733666653 621289808 555312850 386784996 494508745 123105252 395333271 106204039 868144861 949858989 921140056 209788179 635143323 797684405 917741867 612081023 963226006 488426633 777177615 310722993 463780887 468108580 256214286 248950502 236505906 132078400 885089977 335597084 611990623 767070212 463399452 546250075 926310911 570536918 820122062 283585251 329051564 881107536 668719439 971755879 202517413 285331948 901252129 180543528 502744201 336922703 583806144 335551482 588956516 338945954 858436594 533680743 922888243 572397499 567482234 729627622 167300451 409805691 804003226 313933599 175032885 282142849 229154711 167003304 838414304 144561439 474408223 950161683 115758998 966930670 126324783 550683233 701175788 174967269 951576637 298906929 558741126 823008970 598650827 356400838 986564140 317002404 733217613 631571404 443930439 474382151 297831210 460232747 504321246 285617794 933049259 801932224 363297329 863710395 665350040 905226298 306381110 109553568 651974861 511132814 598728006 766793388 420860767 513965975 548808106 315244707 347265352 994564908 306444436 149501990 863704752 238188521 519388137 615225349 936637642 415306025 774404185 430420706 365355532 181044305 149288294 545844442 588943493 655576084 186700086 523396932 489843499 104016414 798714994 499097228 670178827 996359469 463723454 868149958 580416281 696035601 620192816 486762933 302064611 954003578 990211798 487235367 763806573 322085163 461996940 971149059 560722317 234614280 781958869 804106382 713449433 463436116 353245366 533727560 302487097 205759296 176099000 961116192 322716000 391343526 296807177 636289175 511962084 510844580 833572683 686053744 520865298 505018801 532811549 358830840 330208915 921046245 849398618 601434033 989824847 151480719 329935742 717317467 378336145 784809981 529745070 474890574 397492034 524916502 782005521 217792778 141791043 377865071 868278747 730825499 360954721 889223343 246927943 381578284 149068406 209036994 222669672 114908748 760859473 743171415 356221342 136295918 772035400 466620903 198871568 758568335 254818398 890609200 365157819 540071967 511555899 363032499 507724153 832962814 222306327 438406486 959761447 353062425 758959364 600005745 990506220 415993779 884211384 818836140 613096751 187835427 624524059 322468763 221101630 167276268 746678902 541559316 900622694 676201830 738501113 460581493 221740773 371011774 723213644 150259855 979290854 189743894 204824842 899826425 144448288 495661133 334979919 233283841 887235759 244322264 555575716 140076695 353302885 672470168 431763860 636864479 827172369 614865162 158755523 468184838 872415350 804669888 647443281 357983846 532090220 430310310 199567674 121693962 617676225 979834611 445194434 787374140 506871149 623196510 381681317 232005635 978703781 795739916 113199479 758918015 962782822 360837555 783643373 842236406 924109024 581919813 884313472 686355203 342449233 289436247 305704070 924052420 201558270 407384105 698568982 465165762 771655019 271474759 584527245 245643037 946039116 753718334 239759271 193249746 329681684 857355635 417940398 947052895 937542029 921042447 683207606 101638030 337768856 713614852 249055261 631064472 667351308 947297764 350186284 260498893 334146725 881532522 110195794 799584019 465103610 937863262 508570150 663796229 596917101 716380706 625819038 339570769 488946987 580711621 194608424 808585095 113308807 902511939 947646503 575765351 556770039 348135204 534880199 607180021 988826574 438297790 889271771 771625819 444096317 133187503 270814048 331082841 668929377 847661277 610076798 568607446 121830780 644179740 777002835 859452796 510105773 308104925 913988848 153536616 478481204 994586539 174015289 452770757 984938721 867381223 357910408 130042037 493107284 442821805 305180603 967009984 290334259 354576246 211293521 850842849 821096141 877575517 960017102 944844439 666991213 402420820 225403488 469558889 226764999 669622489 178757571 284612732 691643177 946266290 668669962 994476263 113255169 820950726 697380115 359890515 736963417 279209942 191408543 434687977 702790519 743378148 103751292 584962621 496286936 258044471 787191809 647176185 549862162 459631560 468397915 987879342 718117523 640951785 683463125 678486637 561423973 232491577 577697035 375120120 758166689 745524412 466378294 398848590 197266608 894641244 771538669 803706306 435422302 688109254 161799728 111698616 515370341 901400088 882749783 718995959 625218547 230763064 613736741 262772798 848268925 532062958 733515137 835974252 148353018 998438426 954084214 100758636 458502655 160445993 580779805 507746205 788174394 543221979 758788518 100374897 148678555 636005577 115059236 639517708 741837608 790192395 857327539 264015033 653403396 831289523 186123959 644376866 685887594 295510465 106403152 252158844 479977319 323774432 968238122 146079984 997004487 316374404 763389076 982847986 396065245 228512009 661359168 832465169 690839139 954851537 939310981 826746356 569316785 378110992 583140893 896572961 918147831 332357624 603155440 410584355 246161204 818151293 712037600 217467859 763302391 870536233 284234343 843397159 829004892 631933296 520260160 938419892 282106400 272970899 266710894 813379675 995065551 965889747 853219154 859615348 621239191 956839050 993143476 773598490 502674816 450336443 319074897 977665923 501624752 317572958 282821787 511579193 824131394 558416412 871861724 574590490 723549635 402855984 109491773 616480441 519959083 147891465 376376863 174865651 930505170 353352039 263172003 322472981 229086004 684622360 800239437 254191520 396090683 907131129 373886138 108529530 269662283 202827410 193514855 800394280 917594102 856156055 876891329 345343740 754059921 533613071 397589707 107080115 585447765 338928523 234213358 396570688 328185892 575140434 489425448 178552847 598379772 948142735 596419502 223121938 244366543 902326456 914798148 978814812 400015924 440421694 452866991 987337428 545260880 802907739 930702516 817713068 841155806 703256039 330951759 822722076 490812947 359852727 497275834 535711975 374976385 404070876 113120226 614916567 142642480 539032093 599939448 818115195 207938108 403882680 877789064 867100081 605875656 413123794 195993340 784571668 419128484 401836476 640324978 656136835 971764205 578562247 545781705 961847902 141303468 895761504 947346829 793851108 810041377 479453752 666380048 953182029 854290272 743288579 706360534 894781948 773390803 845821095 857329053 461802839 863254324 455740088 221543280 725122686 519340113 780103394 690800315 153956326 104285319 615893066 838565666 961360856 578449893 820607510 564090054 780395518 404661136 890984895 869096748 876107102 115950912 107772493 912184529 998183633 224619152 138674184 343569036 703024095 337256070 597767786 535776874 178716076 124571804 610876447 259073114 410177587 987830319 453171636 320402280 871130063 770922801 904261567 769002711 108861847 716951153 535513649 996456418 703122353 635788302 877581235 860363323 273242240 492894873 130585873 603121921 293205069 980472689 726177072 290179386 318546390 749496028 352208005 737842988 562377995 765227897 105220738 569552432 487157427 475531617 314219134 464609864 939350716 987921267 832592962 757887490 199104136 796753254 411897261 353432451 116747366 585223147 686691289 254692507 813047162 477466394 605179168 785404684 879447618 573004816 723516268 322751679 623134615 485022103 630043914 626384043 612940425 604869512 302281726 706859896 846589623 911347529 832577485 800634874 816729211 241386368 228728655 967557562 958346769 211325365 838463650 670190890 282992926 748584986 230401513 316928089 310302001 288857340 885269839 809944293 350792933 842885336 304687732 385945564 840716998 857625582 394218396 473425249 944455899 607088399 812692355 957774724 178967596 665014664 160962121 796372667 251412231 346775811 819014530 907778727 482798572 836387243 483696521 425063600 802476483 857010860 228811069 519694278 197028539 204359205 589521379 965980078 367764561 211959150 133259288 301973686 537162850 765374398 395812532 115341663 373318868 780439655 630728176 366243557 501983803 230126235 941705036 990263305 594552887 324270639 775603673 403048173 867423220 840117211 312974491 645035255 326526190 254225793 479037427 297998483 584715008 339744330 545494907 724675940 755440629 639801497 190059004 170214153 730925751 760876961 238148107 602179082 676313644 397033553 594462822 935668042 464707815 482493819 981741078 197017025 289750112 917137245 506650334 663225982 199318322 145463647 261748170 186674743 599040390 409388414 373420522 188860927 288332968 555788783 307763872 616563667 146885373 414551456 637015780 904205204 484578630 238941464 972485943 394998348 864683717 786941954 781199035 836172211 927147285 814323681 778245275 254901465 903772481 283399334 836563420 199685452 287346210 509608346 756065363 279612320 932248543 206227469 519304337 471168700 226545602 487877600 523897840 273937094 338422489 840489165 672012116 348633988 165157300 739413647 782331291 973410047 363136258 238615521 753728567 952256501 638059935 281687392 224641114 925608691 288179045 955609305 700030597 966851426 547725799 458836254 705951048 236187371 566323860 727171105 826219078 629365846 343069558 111817102 235200877 276197809 677257960 756410554 727227432 143495635 603121607 319289084 722148357 541781677 135064258 328491666 761898993 400856789 750946030 615812809 643171927 921062190 491015378 997695515 914960890 409372589 178608354 393611269 460058472 159247707 717325675 666543852 760165485 413088851 640909647 424216114 577198067 819691048 974114055 783669123 673214858 114393965 811611562 377305805 493878471 680586824 830152213 720685529 999387918 776720214 332505516 235353153 695215641 488535178 580827764 156946429 550519517 829272233 184074293 574499307 503632945 939354233 495724675 660439176 331146414 489588758 819644546 150560800 303958049 477423288 648589643 545653743 896287990 688552166 815140181 887651645 951528712 282082347 823970150 121035222 892449847 814655525 637919934 656475437 568489736 983577688 661113762 361191626 832644423 838879498 506069593 396321603 117092575 428176999 672852085 432390910 813801571 662279259 915519917 399983453 766547335 689101044 170887374 203486823 136723576 294452688 190604472 470300127 335527050 141192990 658168929 803857734 651308297 422465805 329724369 178763445 181130724 404735736 536499426 915730917 516288094 437696146 190243654 516717138 333281507 585201236 954202591 667536609 230632620 937907534 469656604 480747719 404778917 958732447 761053888 696081843 182072124 806941112 663781174 574740136 890829708 389609182 526194374 738929255 989825147 878499838 102789716 474027625 539905412 349800893 379994126 767564581 473557780 299076874 277973445 225989465 341793924 950020344 360532749 524163085 741239111 219113072 556975266 317787571 227944776 817601133 705471390 736583420 242867740 331319023 878255798 100666318 876040699 297939617 508521919 412005815 568828176 806049059 695407404 403928854 959737909 333529962 283243920 243033054 627973826 667576320 632665922 824516323 626822683 786763723 825601223 331830746 547253808 303795623 315622804 566989982 905838251 781955556 386366178 531944607 884819999 484125732 838836762 351861901 662214080 350896452 864883344 902956433 952211945 943357696 904932469 719302636 688171826 324866784 204381776 733380552 747193711 943728011 446907733 627476018 589335962 608618220 640458841 685542821 613775721 657094281 466557810 520390286 692125905 600435857 422737528 811564066 447440474 827630295 799789549 467403402 253940266 959485873 630342828 440409636 462608934 413059068 770251424 491356463 672668839 636743853 121035455 626159490 269959483 103899892 142401542 454323313 427565250 513393098 613160724 716328460 579687550 128231245 722119923 386328957 892861378 814517696 207177113 444485679 265442964 683940833 364535850 634034594 616443175 314537930 882809028 117116426 321289235 402555921 137724991 339234052 523376332 486189476 175800052 748154756 865871028 985422682 237957126 827657376 554498686 382052211 488341701 339668695 718624146 179851565 606718349 970209660 217021641 101255810 776267919 473894158 966036628 354747835 462242915 195660993 910661603 579115670 648727658 124017074 196798134 676894370 698012183 962038426 635059525 462795996 731246736 566619313 710005564 867663619 673488175 753735305 686156269 744924117 362637623 626905269 802094218 277702490 825488945 470956710 422889170 378295992 244748628 533488928 571298430 162974700 930800549 926942048 128832394 608295912 536467671 511347355 692151027 968106586 739569938 401275703 251071674 486925585 286678924 368951955 208188178 577734550 442702367 166806022 809859180 196534940 700430633 409375786 144048620 648689574 273392794 642368531 820916135 944340455 698321568 795974796 635101223 130258516 595411313 131993978 357866712 465638852 637430025 637077231 934181563 667881845 456384016 668194884 845373928 373872002 290878513 695331720 704938939 496002989 153951152 840923113 558509935 500500765 879915628 200698011 783406661 511643419 224353530 925252963 620932293 400782462 365423744 848725277 725982091 355830417 304272299 879998489 145578352 703433407 238854137 136879953 791758543 878925740 701917527 228740152 772887305 538984778 417020992 242079292 677344607 529226264 558990187 966475814 909506850 722213132 904539044 878396510 367882486 221380724 644285552 133218023 431079545 303816507 392281624 883360655 962967360 550181886 789689517 827068298 636141953 327215710 169494792 883461886 522871543 335549283 411491056 390180096 467436400 490125863 990547223 550476933 340350726 334990855 786764206 666308338 874948040 797776246 756852551 897224590 440618873 916570004 744553489 898702798 738768889 741881623 456046919 931499038 219774344 674409669 456087600 534102698 680889449 728342399 377549041 889105537 601333830 788777184 666745508 450382162 328954336 106427716 538089295 969419327 168451907 652683516 478724697 711309971 602824080 930538293 499060696 859622454 488058427 906431983 257770614 144872623 654183112 169542090 950365670 526371733 319548955 409936771 428780591 130915613 807894186 112454420 910835833 580823747 440283843 709461143 538978790 563207974 522529545 738537177 765741446 309353946 108394309 100012547 282657881 699027240 301724736 878258119 650935070 906907468 782386061 631325769 508357284 599076039 376861862 174892761 522574510 241373448 221591642 858698765 152773299 523576844 418772309 344493418 607166013 378941739 669664084 626469731 362848341 135360354 473774772 199717158 649073315 709992038 238472567 407010776 555151104 558739705 159507430 464806739 133001305 961814244 295651126 125111422 779376991 251920048 641582021 700619834 453411318 333403562 465319019 459783178 489204144 994217976 378469769 555410690 920542572 266016035 573241331 379823997 825074267 294909995 241130922 270396999 877274966 896150355 455243003 768088181 221195431 203706024 661768704 543273534 336666022 522439425 380991670 624960149 788953249 862241034 424478206 873799531 623681496 320574926 876017574 826800992 722732030 862630356 165145321 650375217 697258241 206503895 456424384 746920570 714934538 723066668 935673377 451667516 667607451 853249360 180115784 308509306 551139096 738994263 566698206 849131988 676743007 492338671 665800003 675879902 749318417 219633338 724501512 836298059 338159933 392227536 669646692 443990929 631191630 428333526 914214253 320165939 519194716 973042894 861574047 913043588 262890948 420705040 763147528 535328618 573116316 957165691 992565075 982189170 467208490 771465434 509277758 326537534 709252216 925247423 322532133 790225919 578110141 352174697 850234898 972192602 639175687 800587769 398127803 126476301 168542954 250025840 228319119 340417422 696498280 902175036 471498725 856500400 385325377 221207612 500382076 357411797 953267685 128773808 661956791 740925187 908395347 899751168 567172989 619476773 168022111 769172944 479249659 552952555 878798204 778440513 835854664 450237548 326961133 668448994 337846722 241183440 465171775 123231250 956253033 231482493 551212753 436173351 401457603 515680181 636362509 461995807 755177205 270129104 844055120 311946841 879933029 779865135 269551662 566876610 357145172 267420166 913133807 397120026 490878095 314872883 447253025 843945636 528672062 807471009 365548910 504092994 249314684 517021366 336828460 753990995 148673659 960809260 319294304 628267380 811241757 645894746 509490417 847350594 938788241 959340950 337974890 983053771 220157881 111744366 826741446 962681185 766916460 610466321 390031912 583756973 732649785 444030633 380888868 635928828 240772631 180789899 348864347 623342471 859812256 805435150 234152422 835784144 620725836 405081930 321424465 651618483 564603389 347278548 646843424 533938641 925087589 116155679 916526190 551845624 596314302 544129409 991084368 655861768 258892622 459005415 494169887 600086610 715553539 311549396 242216155 333789604 370683705 292934139 725927511 284585869 118843381 794792564 563954565 973895774 322504287 303373820 892942999 973900183 427341892 876639898 522171751 455649457 624949755 486971311 115814506 277187922 695860653 665721445 812397280 146792600 343115677 251568243 940635188 512620791 577122523 310530119 281558271 823046973 698029926 825149132 655777153 937195984 543549487 521713421 146528953 974780620 454004176 522042687 618983062 713945538 424454888 690531147 409036982 405568740 448167800 670211222 980385239 194634953 308934378 309228024 807802266 662338648 908527849 653582842 437756966 355919726 146008428 472445964 805609155 201961795 988900076 400415447 997371739 989128716 177616846 779320452 835832193 889835848 202633061 309785090 215978349 373311301 197136888 542728008 187465355 744614323 440608548 684595363 475745462 895408725 263311119 175650017 956505297 918014693 564902230 712469010 678341963 687198340 303775663 272144234 326139371 854130789 844382484 285204488 126529914 794123453 713483357 681550758 742569715 872190770 604658375 852493746 708639315 359176225 747110413 858698558 285355667 641246996 143374521 294969128 891798393 152770677 323461527 551033226 620240225 584880641 138052050 647908906 548206383 669756738 714972793 563169511 968089144 122812297 905959289 728893692 442132219 297170143 539977939 858686245 115316046 191009598 728085825 946863332 460307499 826796369 805269451 802060573 950629841 888969325 409102083 762345096 725895143 486628754 388657403 396629443 985719507 126088177 111411939 982127434 728679772 107006845 270275798 992104760 598492987 256455385 745927534 289582672 381858995 770556860 504861038 735660133 309721198 926264643 373642306 978133192 693746234 186479549 824480933 566526343 801980005 948790982 553712982 454661204 827356575 249674866 657525786 778091163 822684833 377771124 943656218 794484978 774491741 281334727 528625788 844785614 216021297 343113342 933535339 944038408 964069955 116697518 845741874 740307835 388559207 718716913 528184279 606136240 497811328 686374377 249331265 329540075 343281591 999301497 197149801 832777686 491416198 119056872 515363438 516474038 565516458 832089044 597559720 966129686 786805826 914493320 431279063 394667884 443750807 367141261 286720708 792931654 918290815 114272295 936417760 232449448 589831461 325153878 906391253 146494984 458756074 846187643 186518768 464004143 153399523 167867620 696898031 291126724 115708802 783341769 197865207 518534655 735605982 329707535 506840110 530283730 941882200 965000535 676895605 543282893 154483519 997965765 753794730 548373101 904207510 995864372 505348246 599797021 281071972 616418970 944086426 593855620 769556967 938393960 991599699 342315630 435580361 245405052 935218449 333671399 320579455 603542515 827662536 699914424 108593780 710744224 944077814 735923357 255248658 969881051 213878911 632550308 771204897 262606938 186037448 634843316 104546184 771968661 559485919 402484568 480532305 288081194 909706484 641112148 662044431 524707676 629342703 947266863 310334978 102926566 443429503 540445123 551315407 689190096 187014172 816163589 905819305 388221295 422160548 257354584 534324327 249474807 460409461 319736197 661380821 179814498 276741703 247258880 477018177 214486987 198543565 498445359 565366742 834404158 737534516 218941161 385206561 595029983 845726116 855601714 857797146 404312891 817756556 840478730 444198357 240055229 482163251 412291215 574278951 478054918 555967993 298980647 855033749 694545236 200714193 777322763 413454793 817142200 924946157 568579849 907664574 424928128 319797196 308898496 566074283 245120109 576776450 352533115 991953415 207750986 796095306 145784780 983541314 974811944 560291782 834525427 147764129 313258075 378520847 520838434 935437009 903152927 868023305 555276845 265583396 674119614 894208832 403267416 157034669 300924032 958555271 872865491 775244289 228694642 584681157 532458225 183601530 842967449 708116455 400024042 554273730 906287789 712576162 609852594 134575080 725077677 346794517 271818041 533323589 189050427 148722372 172269827 647807215 657906972 713047464 688393588 418507620 521871060 567460888 428659739 153008093 310677931 858536899 317269312 112266361 754174055 556165084 158292568 142320462 307108214 422640229 203844716 319730908 731845327 326750838 531335936 155817799 118843597 808361717 960827194 991884501 318897646 889160200 672566434 679724681 453000764 370414022 726913018 315532556 999390742 159486156 931012417 276876246 456884872 590206327 173012862 485301884 222818699 426190405 104669958 567595884 685950937 742696876 294550148 660368791 725959402 673125919 330061817 517361024 215612545 338763744 688281056 668732925 635075337 783587073 960812875 681266638 810447875 945019808 864785445 518665512 569749941 359355509 698525174 937962469 580774692 317707845 292566610 309896187 807180854 513888705 677861134 403462178 170967272 632919805 429825146 491977830 830537071 465311238 878857570 195384417 386379099 675289101 658917233 798239058 529773257 877386210 495752706 206248381 148034911 485728942 642233327 727632808 182482483 963934484 117862772 632899160 753061743 284522807 160405181 292099011 278829556 413974778 500969757 120835899 288136838 451733749 597587565 643957430 100016199 435919557 326221136 524552317 333810850 116594525 900230113 617204731 825910218 878404526 633156983 761635493 576637511 623473352 500496394 816958437 582824659 761610180 959652843 221398753 388479436 455869264 345439513 863956411 682309585 173631599 901129203 484416548 330299621 377124394 620768490 662281430 828193419 471657988 576970476 384788074 526621736 261287205 543686972 495362773 809741067 210266178 396078929 640054104 657122280 748609398 879036315 875418427 276539384 690380255 634865071 495664463 316221005 249609173 973105486 223838366 123292518 675782944 188732322 306642435 662595866 285309791 319427583 432065215 978236322 798970948 699089495 778484760 592588918 864933478 513174651 365402026 439655060 154670017 684796431 971858138 715138609 218750070 852052341 826020517 282925976 471280162 831561339 427866371 613779162 842970173 425091303 375062042 290584608 254760124 985338799 373880894 816036720 925634512 193401575 801487762 637329982 216753891 500447812 306011530 187428849 949171020 555062838 710073690 729558823 921802104 136552401 553809419 668927421 458253304 662117492 481382382 338049247 115219839 706853270 217797321 307333199 242611399 292021523 827060796 895153308 366754675 944369130 167810207 470058767 862110741 153020808 150478852 512285923 744489116 105799832 277050231 339765250 695149071 470043770 144921106 347958710 988326686 334017376 281740322 449971417 331928280 793924019 842377911 590388639 152580800 754674344 635765182 631899883 163804033 281348498 716154790 533921341 222162609 957301765 802124129 250777980 833563710 724643076 313061730 857822531 544445186 433908785 383724073 684327329 836339942 459917660 975117798 397890443 893787990 541346232 823048353 728426149 997228514 285411061 655094817 878454876 905550097 729934549 839603607 575113580 919901717 280074390 633884396 677218965 526190253 560748860 825262878 623959074 434708223 239107643 558860241 782167379 473266054 562524152 456225044 851109066 726089456 178737500 508088724 160192788 127825215 755280132 790823028 894234820 521772632 852662928 396284158 172182370 480487595 584095394 615186608 751372203 365089579 248747043 366387116 194694047 738739724 665261421 599757013 578997056 523966154 174122069 438326850 159136452 250390077 226462259 873072904 628037452 351662357 277693142 553741344 498573303 295552345 185017729 193455106 180281168 275072898 104589563 184574670 787775697 464320416 518417746 855555330 456032158 357067095 758946393 515742056 106610150 577784957 127802841 441811403 191618269 888242285 239163419 996347390 974447033 459140506 254244199 974480074 613700257 747159198 389628321 299103392 587434481 317593080 199010637 211141146 517891838 304968596 960791269 512042395 476774045 967686192 103612987 812601107 929139480 387076674 948920034 895909199 885795626 541650541 626674152 171555916 701626675 231813526 136516018 396612008 853998120 818697309 709990893 331999562 356330621 378944875 586645177 560881878 147961486 676056042 366152345 335355269 310388401 490195951 418943939 669796905 507148641 797267028 940878085 841689513 496804831 446416655 797124309 469620892 568607969 229863550 368212942 777443537 461332493 250344456 569058016 499542063 318768824 594903669 878531364 714118305 520529886 528996013 494091304 124799847 198357321 976963067 748217479 903512650 559496546 176110952 987833967 169834907 607422221 956293409 661765309 529759264 753164123 206070759 742558861 895097111 642134190 364606658 975514685 646719616 619434261 372104469 778790622 269185262 541393691 700854685 960379412 359834728 893678248 144374310 542028493 583882973 620575701 307492384 150013062 340020669 560231491 918396413 737644506 529915921 350897802 489813253 158948987 856945751 486627953 511937439 288576033 349318708 277663682 315876441 752968630 150776552 168344414 438218583 333291280 236870157 482831615 335621919 691344611 468689394 982127608 498442225 180322845 793243850 302868493 361975392 991337541 571537812 679258279 930374736 482214393 793137679 893542891 233566684 755172750 942155757 123060457 825677553 600706902 402705369 265560657 873335641 895935692 665108727 407491606 802420366 482472376 947160392 423328724 393804447 916175589 267309017 596278831 976014184 620774334 157592603 184763735 673904229 855829998 447068250 420684004 861594538 743319477 803472619 324469186 874003816 273075383 784111257 228067762 245932989 700055856 576093299 482862911 676055287 265699159 848531417 444903025 424023180 973750768 687859629 485191733 478640978 247329628 661076791 889790786 793861700 901153599 720523908 116612565 860579484 412629517 719571176 827303461 676165392 503838347 583080775 617435024 384815902 111548471 224399950 366001192 247594950 788191533 494456613 639322740 273575302 136749224 520496371 192326985 925886917 179713303 712703615 949378931 584019669 861124470 373611499 560204621 161427278 138499985 941235953 770164000 709751341 275738717 619458958 821577225 596464886 866175231 613327861 920860509 853902875 753168896 334262330 935994787 609634671 968459468 372224545 250110473 214559238 422886508 891364047 328410302 293569637 319045297 172845003 958868931 942891270 236305011 840977712 588879034 510668715 259032451 749215236 881012882 796349217 324757892 827343607 226658733 136106931 193082117 803135813 178684814 479293417 448244210 570231822 685225239 418317018 266289198 625117151 608221493 708581110 655151734 652638609 447700784 885200789 423454140 606694142 808186758 239125789 403321348 441925200 289286617 819166352 355377246 796994544 681683189 295112180 272135257 658802918 591448524 682807427 119961544 814192187 805632597 947265311 211076656 971436160 591446348 341949611 868260075 627921291 543184708 992747931 851743732 215349363 868015918 546179867 687968305 570578175 462596962 313286287 330944367 247907818 243118972 102737572 799003006 652444394 341321459 965121485 779217794 775809210 853506992 995297879 973180208 454913135 396104512 155330416 953232557 569871093 808069225 904204935 573430338 222119348 357038053 102349419 882330883 792077071 208538543 702748941 375090769 768117264 672865300 750048226 680227086 242431779 428801616 885839282 224989662 880524707 751484867 891147343 903298594 672321190 102468946 907147622 535453351 681969162 980039027 469497953 674324735 579914537 324188227 687585818 867327120 266254817 424124357 246442880 473646978 184282054 282813650 608466963 497671949 146004127 165735502 409962535 609294871 265315594 333538629 118242878 508785682 793413217 928327501 634055563 132318637 156619513 578257389 974830256 214180690 412899030 189163588 696860332 357298425 301289370 439131188 355594734 722078081 627260343 731373317 946682636 811032478 808045506 118308281 790908525 681975739 233473114 354860803 482749071 438574745 733141415 714778325 826408970 918403042 234158506 257201547 339957220 805924878 549718576 811989542 511714687 613066066 835323256 947359158 461784704 628668043 167490201 983326745 114313586 940554557 160769645 254036891 386161977 105248596 122861821 289742055 244635102 200153291 638052313 433182064 458218275 111771125 902165905 834389580 784419072 506721486 469824606 889461468 879823642 243614774 831647393 690441576 687383867 678321686 720383737 382654651 944095573 241359993 546368478 746734459 591556831 683667592 467466512 999801426 449821989 424663705 439249922 377805672 448800627 510800538 484683220 826498659 813690539 626215575 336443646 586001615 484378089 416388271 120887291 424671821 572154815 292482451 635178081 690818860 637565354 457091011 864531187 393154169 119965311 838779593 686281058 727630216 126369316 112510237 104795533 163665972 643823477 244214776 755610155 663709668 886910290 970198073 899029750 218420531 768994006 610143222 333508204 618289182 558121998 238373362 795089253 397695419 169091309 265877543 885549498 649050835 530499285 934790132 235439206 183468738 322128970 327239056 906959309 554801070 212124720 699829224 737552150 738305358 214999232 419058015 683311423 856504112 414403800 884037153 310166383 161676568 499873203 514260740 252960088 565066857 142138726 363787575 594327871 483409680 272946906 338025119 657764215 691107953 828398587 682639521 766219143 888004193 876567816 483838900 855373689 353806455 756553375 422943234 259631375 651095862 283045900 662623489 897066827 225610835 150496130 967506770 607199111 358498500 560412914 870416461 285164010 132519543 412894062 909863836 567538149 645389838 316838921 633083677 588770923 611711363 598806547 834540842 500508444 976747770 794122943 936583666 342346120 881992968 234933549 523962277 248126019 280336715 302238757 283834236 824819262 667301733 353171169 724937712 879083901 616120591 637534197 614943999 401591696 366903414 999424592 299693382 380727521 582510983 126587274 283333544 462679464 929710330 300871168 451707675 267657741 592551053 659129920 978121753 133992934 924126102 731512967 445821639 578463323 681761470 684661231 400040460 383745165 379116678 415606279 757184866 665111861 668627771 293621155 167912086 404868206 314235180 575225968 504130875 228394549 933439966 745536123 755043229 271790430 186573355 109046351 808405193 230196894 424342632 243818262 263336950 939212713 254192591 202416104 273096654 699836566 724962390 679018657 981172707 852664307 898002309 669882302 703664633 289246112 800679676 234114234 455265646 928338771 151938349 930556747 136978126 227624207 975942200 774321242 678362928 172717003 909874791 568066931 689908481 383082548 705629271 475712177 253633931 280549501 735338624 921649530 838566636 791052264 271431470 681801528 643747778 295699926 741779167 892747306 995857332 936596221 107342263 759099340 894687722 608246792 838117684 513927499 720949690 920921066 365499467 882971222 194524265 594709789 292059383 425091257 472106440 123950032 633075011 193494262 330830459 778926145 359917330 178933381 885363040 829726511 593132184 809963477 662824808 240070633 743073507 338697110 151295721 104854042 289095498 463475067 497959116 684403756 955549056 747420847 920840062 174234214 507075494 436679783 848127161 195429253 874032298 111463790 838011556 989590742 197576270 123269110 177120737 683896422 724612854 638526647 259161507 254744278 768016307 689952837 634612366 429220561 471756665 921401223 490214430 761740389 706327482 502437395 597530886 761575570 779981681 594968130 290084675 473555180 419723015 986573584 294804130 999816205 436743596 635699083 285658688 403794999 279157306 553077944 737814812 193956742 696100275 705238370 697494421 702128154 762917814 207505276 339577346 438217912 334750970 628930717 350118196 987478522 996329708 266133968 698484832 107397964 566767330 472187839 104752826 436139617 900562137 895135134 619873257 143143797 635554230 934599230 786877362 244751923 486630832 642866656 254383511 307754851 826081950 361542699 348309044 827163908 966299519 212599212 937626007 887726512 742660428 961746518 854759242 234618503 333272795 444323059 144264598 951369480 504790662 558476765 187600141 852471665 778595744 218008251 820013220 587756323 644148471 843828821 654103165 608816149 555148504 970328718 614001092 160325363 994062087 666164037 470071733 776323925 832365197 103751165 273475375 614836206 725123650 884780270 214710452 404259749 992120135 752978967 127548767 280488665 602749043 396810447 216072245 914861951 561588884 446143120 942495996 816897191 831916082 671441419 340237432 646508875 215331554 398610696 570623397 680057419 437930100 328000435 145742260 647797702 972718829 436424499 452806524 816504433 456733976 931673554 218851266 885672489 691881483 409043822 526888774 398612148 461634315 849172477 962657909 342412469 172031539 947268016 976101581 187125576 592739187 692514990 251201909 527863981 814504929 737280724 893704780 630788648 476155458 762490859 247200171 934698930 622985243 520521539 483313831 207943520 371943510 675886522 374099460 684848253 168488956 950420886 426921180 288442259 137051637 368913205 668389985 751877104 568128224 677389222 173351198 972920382 634396092 775383153 121737968 972193811 462144268 401116293 433090740 850920187 304621981 505450839 118573962 459983556 706928135 369502867 283809015 885090029 403049510 315532519 575940479 121481981 893613317 720065542 527087533 111595659 186465649 144489620 408811000 976768064 404098582 861044527 303061723 191932484 170539794 743319840 258606411 287446015 910022654 402848363 275522071 131942159 395659989 652340767 881378001 498422965 749190811 796676896 805488973 630664108 529224321 592535607 897383243 469965612 911862111 475464282 533130289 987590456 533043835 518365611 858888566 293648273 241927291 828792404 265922155 391851222 348085284 387251809 245856701 782969855 523270031 542594306 311805690 775024501 417666463 515162362 538798264 619209772 194846059 655456294 873990577 347168819 565654576 297668083 567276694 514107669 880552515 109955513 761605681 586980760 685837787 763702614 272599199 552882612 710838929 476508950 960666268 779586287 415127580 856437002 798441592 697605063 811672756 289334034 620860013 189645847 966711135 355169723 169938116 553674274 550054959 724756418 339751697 593971473 138084071 574160988 542964933 905503170 665822088 589749770 925144382 271185197 384975633 662549319 827264011 460362155 756654531 157133800 960490486 131296894 170083878 796412658 743525365 460120212 791770675 187020463 789590555 749834953 408288321 563726791 282951233 152262141 955496647 984929597 515382696 796242474 729789942 157244343 857958614 572232598 505286955 952742002 203215308 885970872 603236996 748029588 817504408 560583357 602092177 464404372 600559919 716989868 813266282 942805022 381786197 266525599 603507434 601176080 734541947 838919686 600337506 705532704 118626566 942911682 427753357 554316371 361283841 514233760 328584304 311506732 687279175 853548170 131217470 486242344 996463798 262599590 994753598 736788886 183277109 210961898 811571075 701716426 378010401 699280832 109265337 681686484 500921504 976189466 971501839 790877512 595407442 494500471 133892103 837085904 401520413 402026587 102194537 409371090 740914069 163485622 342391631 279298391 902441145 943774337 214268125 776941227 126469105 607005355 952016076 952253925 366600034 957600966 696080296 276749455 507356907 574669810 314462293 850795680 654802945 371675070 964714345 770100820 886150943 460986512 156826275 266110687 862192319 400786935 175088121 286333591 283101585 926268175 296228070 579785341 367441512 753459642 835877226 635935369 127689227 203218779 951820071 191105500 292014739 275479205 564087284 646266773 196058275 626182319 475844152 745637904 205598626 282398135 264751975 739793797 339292489 806651168 956766216 142202745 654211253 104838289 712358751 756365195 814804113 364100439 616380013 280936639 728244758 680342126 529242290 687851484 864694211 468518179 487136931 372150569 504561889 339535699 543029251 306434422 410717290 453376986 198849659 278442686 347595751 658835819 233222554 427089577 931417855 849003787 187968312 890266439 508965447 560138134 165809271 732701979 220387634 325738499 798389722 342769815 354892330 279840368 461058908 265227143 105083201 124656885 818065081 425680438 140250332 724623674 465101243 100490941 685695656 118052578 146910590 676476981 376764550 320145137 815717468 136783533 363141883 166086140 668126005 772443991 428231258 365103745 329451523 948068970 518954783 928196281 714019753 760344435 900763994 406925705 656949119 859650997 737543486 741746353 674984364 536107571 373748586 105589176 496157922 386180926 747750358 578085774 690369457 123626423 376597455 260569048 645220586 556044167 603645852 590822273 797560213 283569285 783927986 596792361 229461227 486647561 647584571 753942054 939326321 356132062 921380493 375345303 388305038 115794232 781897854 837024712 563863640 117428214 714743692 479356469 270249340 349183737 225851202 144029326 490473783 429615337 340854133 568438010 290282340 740015887 371743878 328073888 930413755 914299610 225856923 407863189 757201968 914992766 347999963 246667944 455066482 435452920 211255869 770877504 972481638 265074995 985131448 845105971 916610866 461994977 477764387 111503633 944988308 948514868 505287189 952485277 506829577 454112179 610077136 788285254 810379748 982404013 802551968 231613874 997671928 590760775 365532322 663549230 140950600 861672698 157218002 710387792 268159400 311042965 646284284 301215720 832099138 901837198 491903692 216721135 300310323 279171106 278190556 123468416 651533691 517134713 764172124 652871939 725963760 689944603 514539835 136816496 870718256 657263077 279707233 272334501 321472604 649645631 145138670 448756767 865025665 815988719 991839697 637780594 413296088 723566355 323346850 453415096 817367480 899638621 323476164 887066057 809036944 627480413 424108599 260457221 330553187 853093217 382284046 238634080 692838106 448046304 134024253 301833559 664641005 501648089 966359087 518674270 171776385 106154076 528772051 424818613 224036984 318129232 691028079 492189391 172022990 127822209 148818553 715858335 286722108 991636713 955258081 963651405 290093013 445851153 146823610 766207850 870239839 751160610 173641198 813430183 732001283 408474982 599681609 558176645 425775642 273227204 164176023 602924744 486535128 955879142 567090948 960931428 817576772 745446731 141508660 709698102 851466375 535765605 380076452 745418382 456213344 889631204 368569774 146978452 885146006 937340232 198196346 752899350 914733585 198179043 868975353 392872599 393097858 527490869 839438251 759337063 820175274 804316123 610964586 588837467 404678451 402036433 802929495 776259724 530835328 550283646 753498261 896954766 856220173 779407518 303591774 571948442 584448645 674864720 299095000 204493484 964153030 133704678 459023721 575465863 465706256 673770845 844100793 606392672 134790515 431214042 781058758 757983316 340235809 666424825 271873243 952302690 336304584 795710526 584795466 338799255 552975789 166829129 162820107 859614478 279413983 398448590 265923808 220499681 437905827 604721794 502262633 631497819 130443971 943071170 837102004 932151615 612116514 241383672 518965670 948581746 147383716 826909940 997901284 599574679 913514421 478548702 832328058 214830390 512344383 756095477 465449969 890382044 750339436 519851715 121204552 952113739 342026980 623337346 891768897 114286720 185115022 687605626 543163201 303446853 973673710 583485528 851269498 683392908 334449880 141588377 284164255 634936175 107752224 597472401 320144705 923859521 843565290 137688890 894673533 516064942 956653541 920080404 530952456 866496323 304225043 294326281 294097709 165402829 406841264 548532060 656418557 495702780 804234417 872538111 169241492 537209486 137675446 720167424 260491718 499291513 832993770 340961131 939900558 587324236 454946874 261933195 605779574 892991605 707490089 396398764 510688340 105856771 718300286 219052346 849639559 946527171 464689588 976363829 678503388 502709428 554985580 970613998 254584452 984717028 589675310 666021789 609175429 872083516 917604239 787791899 408645972 526168718 955339704 524178736 510057478 879216827 836681697 150540468 809473255 448460269 895626039 590649242 875848488 250426598 356754869 499011833 731393784 474679523 322453489 940314244 844983047 952899090 552216609 483636340 931769117 209605737 325928790 689343274 284727281 743076708 871604802 393618173 831197509 327005160 801673506 616911471 236215453 509985890 213234585 691257537 206365135 308184748 395522786 216272215 302132150 639607277 617238072 321059383 199829670 939688823 584034711 635716688 591175578 962408714 919981089 167259739 404243739 339360371 492988238 403222425 180906192 901779592 397752149 470793150 313979166 833345650 666372059 990738346 513431833 154342101 325966613 460780855 527981000 930056454 960723646 969923135 606945352 316647054 722522793 337696592 646180377 622908422 953691991 538447174 475211744 535671930 217244115 244494602 334233367 273331345 304597640 173701300 601633865 745554713 255856876 217534906 524205331 553165053 936259949 506996502 132729874 277720683 887327127 391618539 540661797 294284568 464851005 192573660 993614529 719100980 319189374 862667494 222440396 565577140 401624871 375275590 502606193 388124287 539092499 632983660 599495548 286456042 719056202 689759763 215469781 648025953 618793360 535687468 696792817 340526275 822490201 880509587 298227191 489648736 305181757 261091813 965177332 601064226 816929124 283409354 793393821 564165512 749645753 982937494 693672751 651032553 536577744 804006979 977524536 122568158 681464086 643077984 612320006 229694228 525515553 416384502 602790862 634011051 865588692 182724242 187506511 454321616 866588144 379345328 277035138 986572793 865030289 506899558 879592342 822276959 215120140 563425730 447958480 787569076 908098800 860731844 599708272 597967821 401581110 754339242 202395801 531025120 903319592 356660785 861566061 671049083 173812131 263436947 306898792 410459817 619653599 857974849 537148564 928656979 833550388 824598594 110151986 679713198 282252721 922355022 863317504 920115433 612723361 314140084 849034482 882786569 963350453 533448296 719142232 643371216 594227687 214661143 514530284 638903757 704191861 699610992 861132320 544849805 359561834 749137103 521910245 850626345 727876321 678212705 760758726 395915380 954741659 225727331 795313089 646754527 109939586 519622432 170128654 469313884 537884862 255182610 551537076 352749850 713566501 841684852 453918973 449778005 347664942 692591962 567081065 737497183 645647140 962889570 727671951 307421876 165260368 654936404 341962851 261438750 289891181 325576419 173443218 244043877 616687300 961407351 705294440 965558400 670181445 398587609 166736193 316860242 823542090 605417258 136085751 854444355 713379190 780726689 810704857 407991411 228839004 894845422 734639874 549107403 907500942 414538533 636750112 955447179 494225098 448390479 985858903 582841559 424452015 198343222 117935392 677877904 898964838 502048329 106341202 940241460 397953884 649630011 396941452 171652636 296488321 659806611 921317060 554926062 749989396 973518883 881265910 302770779 960475103 865682290 901232179 970334493 510858707 316083961 787461945 190497118 276394371 258135411 407589050 136137683 129722725 126276430 144304490 962155791 735078414 515085901 155991038 479079504 949898507 341897944 648922442 496408619 768158663 924543477 364804516 338688292 817088143 203125572 736561218 546674007 405049077 621784700 427508106 649644053 361134905 620639442 839939068 345179972 262357096 333568850 643385033 579516332 411944571 279513187 203013570 246034749 591060920 126656269 285447940 777569273 452137561 339599349 266962797 218655059 637689567 508287659 793977738 750858746 370478534 186151570 284334711 730198692 730205464 618249979 237534972 101563207 117213800 876865981 431120384 610067364 857070132 750094588 344751887 495176751 703186860 990945490 144409715 276967584 410424578 940783865 898131804 240900724 381890540 301544987 588191873 640013697 952059689 747958362 177195488 474020646 442707835 192381592 825978744 665662544 811235820 467164283 378300470 501723870 475555946 482884137 325499970 275665968 273177298 916098898 537963788 178982034 724516966 254216784 685415849 633050525 733850462 707291221 318402686 582942680 100916921 231565117 914778249 972803464 961477338 237577613 420162086 768655262 974628929 353081429 631125365 329235342 695393743 994733567 456106056 673517511 692862008 212742453 454060575 488536667 315125919 657992214 476024529 395385760 231192757 682157678 153589086 939554966 318626144 666599069 703629109 177708787 694592899 455544164 630090096 838534384 222160690 181603885 964120225 342552654 792425750 443030536 862789124 943224287 733089553 682266249 888282911 543979820 510091539 119176775 750749105 812571366 190600141 360934539 819496755 822894486 367768050 748973852 302659746 321056730 411738785 563379485 115797677 351032270 169576782 516028708 703462626 353634433 925735973 621021009 441601436 171949096 178333349 233812801 648826989 390941557 623554373 732643361 852028424 356434744 635591360 463110542 252251521 952161374 219873079 209685804 102457505 234606822 988049430 921140538 195748296 251716875 388717378 238928556 180876606 149130866 353826614 506245969 541659473 921009365 391602855 490978269 116459977 642221461 177133338 809553578 448168544 289650480 839799543 550082984 312061680 795357175 438092358 916862995 413511770 838288371 521627699 960353257 392370887 131232832 459425726 825202872 282122601 508137185 604693650 815825834 539845612 771269475 394991805 396487438 961819867 335972462 121468746 911578295 605120572 936073872 340507861 808565641 757953769 564445190 938702340 401128803 312099301 326558209 724455756 236288821 438151816 980409138 969981026 553700594 248256389 936004990 611541188 734855893 237775513 323947451 107155540 604302053 537152628 861210457 887971976 230143881 520034675 613382732 908014870 393610681 558874803 396740617 364933844 808540560 835948747 766042279 460352958 188655591 225019445 706123987 653150148 241477852 812220054 335070710 317534840 519092454 160458153 693194855 498362438 477526665 280963887 293813784 662293457 514340331 203940795 295407621 695817114 787318785 468469210 876952001 498769745 702552317 920008426 392489147 414703575 428936574 484798099 536219052 950107007 689972418 249719757 334972844 294621453 631534051 851233993 917084551 508585408 954431322 297545319 110696096 342545174 805907256 375556363 911725202 684431269 183000440 412756119 738302349 736099529 555250925 674976919 135230295 838424832 690290272 990524157 523260639 280775513 111962973 883779879 662413543 428938789 318385034 653970471 632116300 442392263 143941818 555262059 275552095 244059859 865026201 376726430 909693977 283605551 118908752 465976980 802543173 692918209 964011490 147954526 882047228 488394761 827982499 545719467 476295050 123845152 397527063 605323339 723156469 665013101 921137821 840484065 769850830 503427537 660949675 339452089 746200022 122278986 952345503 666857426 979426489 184588443 307851673 260350640 230816853 678095576 436647561 841017526 712992976 743560730 322621754 336448534 350372015 969286077 599290209 144431023 643387086 383991582 372262153 437404876 826368220 887882759 777604702 189993519 833980021 179548338 968751804 884581054 871404163 606245712 613472599 724937254 545866067 310857096 398596299 641769645 181527477 156637346 586197892 678020840 690885303 563759546 237534966 415736626 749475767 435638386 375872132 708803080 976895046 350378998 997432815 492280796 896828545 148255385 731625544 141180375 693457642 430772680 713588183 568936351 326787227 937445712 735443238 662251966 471539365 385969125 499458814 881473808 970093063 118339498 360654203 282732180 639676100 992903840 571699666 938283816 672619028 779007344 281923615 413940049 992646403 244785791 250106188 791142993 111517490 117585620 470979302 604503856 180060433 562258522 311573230 236942253 674564093 533283653 848753869 401526996 126852707 301802724 237265521 411505547 640256132 433951560 125363929 979225794 808956146 191142206 378551967 802420704 410028052 167972380 701040493 626350728 517756117 680733996 708917258 706787647 461496506 803543496 768771136 936028467 769275381 778601440 266723809 163382322 798624150 701117922 220706848 303708051 608211772 579777593 956863251 409578935 977286541 959208668 846444270 563651851 943152462 842923877 220100141 794608033 446453447 880251935 453253755 615075954 520070455 941482786 453594637 895108203 113881366 294592842 380662614 214445839 892359865 291739689 115422647 122940580 166623798 888618061 807366351 326873049 388057868 634266800 535406605 365886436 932514839 905511474 639654262 595365581 932859284 209584146 230528027 360292633 934642866 863587933 491566330 554527262 459840011 497809285 293355102 704753175 685711790 545333166 999991787 962584399 721434427 972880988 804129034 734005287 329837985 301046480 664956108 285368516 344620985 436555052 794564028 692896365 788396388 807527599 211255193 613067554 139201655 262355614 322213345 917555119 394102207 541073455 354173610 406521354 713027744 958460841 255538236 916406358 926504091 779613833 106533040 861661028 948968978 386773676 869896916 923482177 354230724 181784721 394781754 314103642 809301042 784386333 510974901 911564224 801596175 954613443 618948936 588326173 364471508 703931630 136610665 563921030 106977344 856212859 350585414 364206143 534249981 560017768 851607607 176405610 552962191 246782751 520137269 105741497 468668580 573802325 847555614 337746961 272634568 828888934 306956503 252123984 815726052 228791852 457548800 983162353 507965194 170958224 252650624 380876564 515649858 735226603 367646043 117172921 506023665 244921844 207988078 661259629 736968776 496865391 891774682 215066510 871065708 657751331 835496668 488074072 459166644 707144249 356785159 696190590 951875816 416703530 296345476 729414039 768089923 838577543 399550697 585453284 619505156 442699322 876022393 239815126 884005240 958665343 293671708 253183484 331329201 183619431 891492315 590203499 732848752 312159854 438180067 135034193 879382159 762998018 206806881 100118083 417238646 365625416 642624608 983520813 622445464 899596731 456690517 939579805 495692229 979058489 676987612 314672543 251853389 299169382 242547074 294576276 313199714 575211677 181456096 205640234 789190985 659326669 204375200 762377983 846075366 996401354 660227992 422994905 749269361 196697818 574744574 368276686 545801796 596635907 938209557 582450375 679750314 128192108 100745839 776252211 210761702 126568731 654573709 515958726 283640907 435804669 682006915 823929893 711084413 283450814 200662731 160064160 549171898 142617381 539726845 968517980 284809357 884258381 207548975 417824946 549942482 165616976 968982226 609110951 576614450 551379178 362164781 182998069 537844398 593338375 839478654 837213115 845520189 993315808 641723596 219839033 371534207 545791324 461923706 637242047 830248642 345873319 124010107 202758430 140960518 890191324 474457111 386776800 724959357 799637888 754066336 931264576 756971344 256810978 750712708 573483009 895128758 645886164 984849940 938062279 313204272 405210598 582046539 991022413 303870370 367879821 287085564 331571952 477495722 512705405 948425071 902861379 780918491 365548454 242099970 258264688 230848236 321333105 845002760 693701445 264160532 642793522 706636713 558329479 197827702 674568128 139125074 815665717 496140842 983067774 166085931 407224752 926132510 808186809 889108305 501624275 179431951 822215339 983786165 751708933 715546402 906104458 703362442 642477096 338670336 566780046 746577712 594874113 432207323 634103578 179317651 623032326 464459795 971073636 372001929 107601195 384066193 883785403 963645156 975469280 410921637 174570385 768695834 699127386 733757014 450610032 854527254 567155692 428185938 508335981 973302629 744956845 505392269 874993281 587439872 324248964 906930301 695363973 466992847 504723065 736224786 205382911 534596412 439448732 820666343 715499543 587838540 320224100 171997177 930988176 328017985 832701680 260588877 164407737 974099578 233128643 668287490 500490617 560583401 825901766 847352223 685896046 708444922 857985132 440143553 829043602 402276992 335509943 573534946 307031268 653233178 559326466 725035453 118706781 378865485 309811649 315757309 935901097 142137115 101775228 141786075 317176092 733876677 603944533 525500457 645756283 629603941 820838932 136642527 494311710 162054427 560601535 485164186 658410540 427758154 857266288 498477025 589797325 175308342 988239779 432143336 135508498 298767041 165989793 491664184 794954603 387242573 787700883 967994404 471244004 226660830 798145579 987119912 522395603 388594700 369095458 614827612 815985889 703532665 642049432 776181883 500780481 665865200 247042619 392780868 815907488 874690146 831435491 102217652 911421646 132868307 235582129 295360086 323223384 559553615 631129692 700454184 913950443 346789871 488587513 868853752 852502882 305548760 610033611 288924539 421879367 692800069 524052115 724779791 940750419 713488675 103481610 649273423 294869198 905829549 789012185 716109435 549492610 597229443 129857310 855665327 448634434 816112426 295170796 828213690 828146956 187378023 883735198 916248897 563380728 858155626 822419916 804530097 413453136 463015526 114946665 402376159 210690841 676567139 923455765 168642407 268307871 783485049 697240239 543970384 790921308 886998766 511459735 515520247 887766363 485302363 397559275 712138871 673529716 731216976 528040202 546907677 829263564 675826539 112699073 472607557 930548315 817641496 240878163 901277037 313260038 864544205 570426479 691360448 541197079 241941194 303528453 916727604 545938904 873310309 530846554 944617328 392632033 160475433 112447565 573315839 743962549 193995159 382399771 821367333 586519240 516829928 651060484 713517176 860954269 194447414 293410395 544801558 267214037 319148893 814151346 127883453 451100752 560017825 440733910 404692426 863537681 854938928 604713173 838478271 780010239 464752567 179555504 195996390 611882056 955318835 720735191 109416852 203141340 415453795 703329215 828231099 261874304 222610052 715121733 943702414 593275874 274261528 327364072 590488771 272765265 467312949 115798624 168178148 309709970 292961172 485325732 533084109 470131150 618341343 214991282 219910301 178759285 711921386 421771018 755004966 727957807 480101708 740319400 556356568 521655826 884729788 484722339 748869536 319131900 926278721 556727696 172312098 896944826 922141771 378890907 848699190 619145185 929426538 768504573 584347666 920777920 206049969 611905462 904669481 164438735 276414677 589867640 236361743 196056866 725094237 209592722 295889346 537030283 726143931 947177299 208715902 657361222 778368055 926540732 437601838 332160385 116366001 395108291 208768982 351955777 834241756 171706311 376579601 391858323 436131140 188606504 646003280 372441313 142188624 352080217 847453747 113579984 847469060 251873544 611022454 719935112 354787415 278241945 175817971 435812662 417495009 702784381 137930720 952780733 555509151 462304136 342078106 130457103 978339975 191600527 566241716 309810966 397932105 905858924 233730001 487635943 623724346 113719826 128423011 572779995 529816517 221821934 114308325 353904936 937065471 514382020 398474902 955885619 706624490 528674705 706088669 965180679 742884105 386535422 543727681 561484613 156549175 549455882 157479752 246197542 738194225 379334967 551909984 640499088 719224223 246591593 708433954 634207671 384451571 386701311 616006172 394061382 968538217 233555751 261244463 735921935 332967749 867215192 299132005 846032488 207931399 596673981 433526264 719442671 756101680 840661367 855035978 921540010 737208447 449366383 964194773 331357310 507390269 904763998 539950832 831577657 742182385 852835320 661284442 413956158 729293794 584477013 700165987 532783790 389238794 194926665 179818615 838355860 797869316 879503008 871771624 458189428 831944085 759423687 214067503 522533900 386571501 494862993 220482299 816769585 749338766 487906578 764542340 575013930 353287473 494954935 240847240 367725808 532056710 690929001 571617124 511130438 444494537 843891221 593198955 477604515 531128526 370588263 327734002 276222954 292163753 824449215 677067581 822885439 343447031 353547622 695261728 743045537 993235343 728326776 148461176 688983130 852583070 217221956 589902421 794058091 800315633 135172989 585642432 409246941 250980264 576686975 854348623 649872492 571446583 489708653 961855319 806890321 572864508 882072448 299229466 510682071 868672378 954648862 902944095 720942010 993510880 864584472 920124110 448386783 667060433 344336240 280253620 784864296 771122211 885545689 961024526 341954553 137113744 315217801 367330383 322397496 511632014 715806837 345191553 555425658 779043318 841911969 952476410 116034442 818458217 314567770 821178298 231120233 259360131 234641491 703800324 560311582 254716147 114004776 322833095 525195971 983676968 107473682 572260497 306185681 882826096 340159540 836621553 305688661 299949438 541132307 672782192 598223320 320359992 740178038 266716830 576237345 541664084 540949442 813673971 995979309 385757773 674903469 917241832 809195195 828177468 111545340 765023401 971065142 693382324 676227159 828277165 579245957 162492535 255838167 263739059 545527081 100060942 724271902 577608175 277297442 350387732 128834502 491562654 332866142 966898937 388201975 858136844 436205097 986711382 327114415 751735811 744232863 486973397 115803611 564110862 149899021 498486810 580561302 674410078 135733744 993523620 449711445 171059083 946992359 245318905 161132597 291233426 465861105 319681814 214481432 569328591 489597887 600174690 770459869 557195819 868531619 343056147 937592404 301455492 120824105 716787533 623629942 316452154 557763176 899307021 461297200 659112560 300234212 764440201 889733017 434728662 329241088 345378738 591450701 370560727 339570768 405087300 621100279 369031551 193632066 736790647 138234819 467520804 753592149 322655235 163670991 936576958 890795292 946801020 410509670 930671636 823574843 105280782 973666231 695679893 885102162 421417273 610015753 437293286 105758883 348629452 189150150 949036224 784922887 589946357 150834542 766669480 826903256 377601416 487791724 209077308 462386412 866057053 400776106 655845393 758517982 383415754 355114633 512325519 179663489 761792297 960241025 239377686 199873473 793727813 499087467 263185460 196354837 149907525 351363712 348741524 690169705 375103482 832255170 682187211 726672219 993519841 627824808 287055830 547192856 234153387 770138686 840962895 208506633 792661538 329768852 374473473 415112367 156008386 707714834 526076994 732114882 727341706 813941496 178318247 423973795 465367655 218064660 614296481 894592482 496632269 685017227 969058591 217606025 192892568 342046106 362351855 555915465 669714200 890096738 601129245 383996511 769883782 921887239 327534439 692710010 757184784 563086855 918603375 247874724 410331105 498009876 718573344 284068200 956722983 928669060 952474399 425065008 169945939 668521443 366449412 295201076 447709353 524374110 803047675 838206403 272287871 119793722 498333472 143047092 456001659 692854327 322993619 382753115 173742542 610045916 805464134 699335331 132163303 149621829 595764954 452702435 480303110 614467365 883846018 713896024 140086278 364770657 671426597 687566673 346115991 909545720 840207633 181465772 996373384 423363525 229310442 911254133 501622751 241091126 973399129 255116151 359000795 815376110 655687135 687522729 421809631 521469724 758970157 328748452 178262368 646036483 825538823 273607034 900293810 212181837 809655776 495037636 256908750 619032013 693257866 620975543 415697429 693960006 704377227 917568910 228354060 184579258 882979509 573142799 914951109 578089674 981525225 598037041 973175137 527327446 145290522 399777147 884108950 629307431 777487779 524547081 259613431 208233009 306100365 590618043 226678103 665446573 563074515 913884716 685942523 227910507 867982630 715592381 736622918 329121998 632964599 992207703 671729056 343073206 242954406 239664737 551222046 914576355 522807553 485363403 318434571 776880579 614752098 692253761 555535631 215132600 333219435 159731062 359276499 842362897 534518686 942619265 330074054 494909979 466602951 306470335 580812307 124745466 453908672 970483098 635180241 748669191 492177943 227385269 806739674 168630222 756519740 758052736 330805402 603089252 904827319 786257829 594888625 444960655 523378137 109210349 626992102 688095651 968652686 265109724 750763070 524213478 712459229 476094018 971154908 460857958 744217005 935644089 548564545 379744525 411465119 521287511 357855985 443849429 518718253 379289486 828086821 327906241 395137714 632153848 637551767 712192030 400831384 671479889 718070193 449289633 563051269 182656628 548889313 456278903 312892058 182521392 932149443 605272763 157520379 930354784 902225935 579955477 149015127 466542866 638084966 495653720 350963211 965902296 799271141 689621745 966070229 547909733 760505607 394812321 487651814 855066491 499524993 409102340 380568310 738847325 167553039 444375571 722027324 451537322 167780075 822963300 419952987 404409221 777019931 380164881 424859933 792523705 538353152 135528421 477865879 668203284 504652673 474808754 588440802 351579176 428412351 243690313 256427180 824035850 515302380 263805578 868292101 458374736 971511110 199655409 428556334 239021187 916317091 494534559 835787287 798543431 225914974 873907297 223077132 939583303 404258022 250452395 858865424 471117428 400404390 861731228 501432940 573485449 635210676 660548357 251160613 212574652 788748943 249819433 988200174 844618160 296966973 356443077 462960497 195561390 796723063 135369754 514831677 886317791 218901381 614967406 132604671 609207580 363749813 911597059 983064304 738325112 891759782 243646019 197681616 422688083 623407827 522107959 645450454 121019114 255936162 590369987 784607549 345281421 822463323 291124212 690320608 305263691 618245509 808683498 439236938 479176016 428845063 394021838 793811919 496837459 998129988 592076793 713867496 292414600 181894879 769590260 439134465 750838713 385383612 615367235 365968234 682491428 149992200 617344088 535818740 451182124 518352429 669440802 781293756 803238746 751163409 195663731 895623474 971781726 393233912 468101844 595696512 297997070 910836306 445723883 692143287 218681084 445331239 682281448 647317715 712055139 136311489 409259122 787904803 277967641 171199432 119133996 624417053 145285064 788723027 284407301 557470607 537155437 730959633 735021329 964449131 549755353 987392587 449497505 676122162 615188538 983373205 998666920 525533834 453473695 219384346 936153555 255612925 139433730 778724140 978076566 729520552 256660770 100610658 408521779 539633831 626093305 432864164 970163034 993908436 993718395 504411470 329113428 830865869 980175332 344520994 464102341 667225524 870018791 579664284 864195671 716840605 985646300 398751699 197737466 968650380 552827381 641430624 900303835 317591575 536960915 647090890 165760585 765208365 783500712 624396661 155830799 533629991 898185588 737489139 472094741 584448703 236491484 722670148 729097390 379343696 909566451 200792523 809910462 738895766 903515425 821594244 744251666 942125748 803276505 270843227 108948841 938049048 172935491 759711238 143057677 671935124 544252859 439038783 902763590 315754920 682834822 790981886 733145610 595321475 980898360 510391902 499446420 869725818 882488284 472450451 378822234 168387315 734179534 754240745 577347935 486828063 582129062 691176157 218914572 729015118 694492230 154535569 352405916 303741760 910893062 916462534 671866163 501891842 674608335 708283462 889269651 775387909 355659884 946637214 969587289 263631603 282117016 140745051 899899855 716872472 244809603 516587620 181658942 147463412 612954436 300192698 165356670 489619086 330408479 230443918 851764817 875434983 912281582 321448410 685241817 970673675 500224263 831158978 395175796 294091327 630670230 215906206 454507578 775948228 283821043 140831059 391083384 490688000 497097422 976530942 516666830 590392306 962578395 868448285 179447929 387707446 220352925 241166433 111712862 894178256 627681889 244036697 692050608 559688029 321387141 116218497 715510143 831231968 564476063 223885025 694265263 323637264 250565952 677347420 753187408 992473028 465495564 984572938 236792899 460711945 451495061 906130038 440799011 289333386 124000487 471600068 125174260 873740738 359937887 351829360 205544189 313735273 706745080 519571752 413257335 369492910 363157555 403697491 393765682 171088112 957113331 752477590 908852793 718118683 189024932 610422858 486992679 349955846 739561006 413537852 318467129 321448331 198426460 928040022 594771697 458624813 654043988 337415689 108222670 683241468 327051598 987968100 950353907 602792720 216801610 888979691 698569899 615728659 817841634 568253311 144432437 165897972 652719138 920772350 710135474 884166945 822808469 884317967 360405855 793251801 453276072 431661140 103547036 602328776 819335310 939120874 337498472 942451395 333193534 452283795 419741877 246564666 831357293 539802027 157133437 906286401 281817218 131500969 617048749 298704047 410150501 916776677 851525910 273947313 259348646 150625784 978609395 828827646 256264541 536958965 996718999 179842660 952522898 297148211 642703827 370715728 798168539 358947537 153396555 952574067 392916917 270644916 931779504 229067728 540489662 872351932 119452746 528025331 464984537 607003601 695097163 492808811 507983207 516764218 140797105 442944746 439199419 737833542 909682891 766713004 792631762 175159997 545433460 805650219 312258088 158282168 271587256 686442232 118312792 210644611 253471815 901224334 744933652 681868568 659093575 402320340 622001020 402814035 889850780 374747317 780635440 729985955 177988047 500816235 275284117 189985839 578274753 884814593 394976041 789272910 920966704 147609029 783408663 331152816 435078909 156614483 647334728 962318898 931332646 549946837 537596231 163889947 636466056 665118211 104500163 967234525 327118963 319872768 342820497 200218090 506876940 793160135 374153280 117266360 512499694 470255153 739369708 549043300 733004705 416238897 809211374 603635329 456684673 862524845 380253049 614685041 834492922 635332771 420444907 605289744 670758081 267327674 250722279 247148153 654740502 972607397 335225376 569187603 903932031 775645849 384834097 755014178 779268761 105134242 722617255 914591191 941016529 995384598 708484934 842611848 514750763 569881804 118941727 690716226 198893538 868822677 774313305 634248824 161071862 639003995 173898286 848207511 947843663 853809733 300702948 956548300 995903322 920021149 316547212 147870038 578587259 718857873 972261958 396206611 923408192 537333573 662863042 237811852 914810004 478233438 131819129 897757745 107264061 398876886 378711769 763038660 243554109 742109945 638788557 398026290 885066658 966286334 515056105 409508480 779600767 673662820 831576566 161505317 701021053 684806728 634668287 990710008 535067083 664742526 651560551 897372251 643669124 591709268 495957307 601072260 252084660 885907390 307346353 867136127 702530566 162062256 859687002 849284730 968734879 338975892 923315004 351042061 768478824 749875074 487268349 507247688 872267640 877417900 492530194 398527014 335831301 689543339 125595091 898424017 359235375 445530452 540931625 247297478 131091909 349894863 599334490 695492982 319438758 655819966 592994103 609336631 640974536 741287828 843204327 398739152 132814884 889494747 731405641 965594384 999901896 210655510 794466366 393803463 862593154 564570915 293272389 734196120 724401700 103814595 698647631 260479529 467797672 893625965 206294773 940072654 450288117 954214336 509239122 153834860 295391930 136000003 860226934 935255529 983312664 182082276 575792702 145119812 824413215 691083822 857475945 133839500 161435003 707379769 231012634 885629594 650033245 527832686 950418142 169392118 423097121 407496226 207039831 158573166 587436096 844916554 118206760 594154819 697880816 759749347 433212007 701319962 842129799 492223973 957919942 612080373 168610176 195413291 697126939 918709080 900548768 440065789 229404036 552463850 800654621 876026351 972544318 734014565 632553067 453816209 928966059 492235307 336762821 792179650 883732782 579223656 219347940 421600193 593708196 215818718 993616313 139308278 573243104 955496723 712424652 397547521 894658733 447690233 159768876 396076338 377295209 969573284 451318483 351139212 583539840 915994664 750232914 220985808 746533596 181998112 551266535 618062532 502578882 632330947 846571560 361689495 693086875 666950376 224615856 143980873 805570805 150693936 112815168 294882408 976618020 480990543 155129119 372388556 970415806 463995206 174418851 487777393 220692368 194764732 250400712 346678300 376620105 751073016 168987004 422223190 135574321 606037273 681670332 889558206 562486733 522953008 318895835 438988771 762408568 219013658 242626336 734629303 485362323 485199402 139976786 758308463 917229828 380783419 462807408 811288600 826653420 912735449 744401571 253428192 387363609 709966906 432176547 205296630 299559337 813694072 708693057 842387568 337051209 524075756 571249891 621931011 989035597 438665670 852460115 260039666 172761124 839696407 534177383 895675716 956377420 536862295 345322242 653500780 901059127 551413425 784916718 212104723 781552785 540656638 689300948 761983807 579521464 392243497 786424504 675584209 620009962 843960365 546649511 259963747 952054596 977543716 121473711 510295346 681170306 825731431 201208133 540796447 706435233 499089197 247192216 862571422 686303443 268572486 239601432 194835667 271923165 961811242 266198777 438448765 764569908 799926897 473548759 956360216 268648403 217180881 311004544 369938137 875950360 662972650 523021153 830162202 803263435 299093400 804442784 148322056 440326630 410639408 285400435 292022815 866753436 207852134 722220301 706994052 627462237 272666176 785936928 716710132 397174469 234488910 811014076 971764611 109402268 497388395 588541217 371539853 497937691 847757254 336399609 534584692 472124929 466741783 823801497 777459712 532346088 831828735 497589673 740892513 617766899 571977685 859049817 535885662 584929683 702366058 484517156 434423593 640105373 859567898 577416980 107703592 828083527 765086926 823634764 156291597 215332225 237171385 977924123 465926832 484958671 457113212 847000832 118972674 984146433 411811592 441042203 610746030 682165460 972603653 263896424 905359756 453903951 804393468 748560095 589373617 937119244 331937495 396463777 908281525 627174357 326426628 696710925 209491459 194499769 115906596 258683304 787994783 673521286 819546656 560420002 824282303 846982971 313590742 218092162 136833141 809569620 443673495 646853110 123175421 485316934 506000415 794757706 602055209 394991612 184329648 310445538 423906987 430698529 277599437 627514762 941747917 191721754 617462903 213765597 961798497 574473949 623113526 574145826 316090694 630631717 290850463 800479695 222828734 187725943 386027988 518484661 531742611 506019975 541678803 880796047 693040924 763332993 811573252 351040112 747139776 617001114 980382414 999816481 399155446 687288605 330830267 960497625 840928337 843753345 575505948 508567755 492072714 669614004 851488206 174123035 762622745 450421828 697868336 214010511 965136052 346356509 672235885 307965678 204478346 984629355 574617730 975037680 866526913 911391000 566804699 699710041 543137981 284097770 716382782 478497903 271872005 445657664 832934264 967419359 898949135 378982630 521745392 258048834 916247412 870777802 748547894 939335056 699549676 157264177 655889992 353022883 532477182 843904872 827555117 180643707 744034216 712486882 999888432 893694425 522528682 978490053 666792349 160751425 265799796 275271915 682203103 142427652 449492130 696651021 365727304 502147527 500342586 763164480 472765675 822415867 634174020 487685727 889958023 427232983 800894905 659657893 526776784 167544043 640670756 271807796 115741770 585282920 905375120 451718363 100048243 720755488 581017434 801005957 346887123 701531094 646585890 550602802 538203329 134835157 623726988 396607890 440895057 823135216 820623770 444598697 441254321 430055378 419969324 916614283 338714216 548623827 577572450 273266635 118038594 450729238 731900884 286409847 109705731 340729959 544382495 216293401 294425819 520761168 704291386 406928552 959463334 244557902 654524177 315396692 758234624 910393146 607539918 777477240 871373572 710162603 186861239 579551052 642145203 696061406 236099233 307515823 955674140 390290591 293858422 693654944 273244890 739934008 835013172 804021273 918335857 299264660 906777226 748711458 546579185 686813626 783630531 119148373 779081144 697525939 735579390 170249564 323293975 144189369 431133031 805556379 305974419 180028355 665985923 518767592 820868040 598276545 391429422 991854755 811444289 483829981 315458345 618123643 273856138 331180261 738406219 246671546 769762559 439141490 401846914 625556665 119722358 882604254 900590853 223262460 483463607 245149813 553898556 772430690 868734791 785840336 647524868 436219582 596935131 728903632 935077809 759261769 592065600 718228985 818178773 314470880 839551192 457365675 794535213 894485200 570345415 117458361 661119290 948380366 627768165 630317953 894123311 108670941 418686126 497458005 220692643 195298329 959484866 760279581 298606634 185972765 617080120 458270697 171553186 827667079 825681482 963947331 635172120 394397228 785219520 852851416 379992327 272584073 710344719 235784843 788306785 462204239 971209895 847761347 646680371 271396546 856820023 516481723 661562569 906517492 558065108 261196369 137238906 632289971 238403909 233243183 129258978 618618188 449293715 359975364 836228602 351462356 955906543 663036409 585360479 431549049 945860350 751211079 835276511 955444856 410535387 387768108 369309250 315167963 687289223 304545626 458254311 531119954 439583928 726522319 360856571 197812694 860885008 658471137 919260406 521887506 932874752 563656266 542025901 447095041 450313704 919607584 739147764 654751511 418345058 423856943 103224855 249973751 585400354 142429859 359643968 213607381 601173822 827228623 987387545 993602648 890930152 148016464 765080499 424406668 596313450 277514793 501537033 630496250 626677616 549108976 969329130 829118708 770600804 552157971 830592662 449058086 647849207 625305955 354556192 599095444 916557277 777891180 962753207 179311937 628463669 926294246 811150154 471792451 632865912 344041344 953592909 131297039 936621271 133124120 578331558 561003524 483335591 461754100 850822271 889177546 107639544 485100226 564469780 331872760 748022561 209973913 914737389 733746871 574913489 590649978 105850215 196323102 504292928 545367022 125287736 288003952 992987406 176837594 758973432 755144311 132845454 151602219 844812557 239454285 802404492 273253930 985223085 355798589 836024263 493930098 993349407 258427947 576779285 651900032 927591461 123585639 219403834 981396599 284608416 182889063 129953973 781133056 805081545 908581918 577002656 675134866 810160977 477815860 611939375 852632033 964575511 846284980 496128836 653612142 734962471 735641233 512787972 236265890 322102161 545983301 204992083 149314727 466666284 344860730 455605590 640848990 447819440 520805800 301295419 692407517 325794023 542953623 778544000 156157062 361137059 788120681 576643734 425229520 348529399 281494808 534752587 415917748 945583085 769308528 510194325 635450619 839152503 305930129 331687241 743485757 367846525 682477225 915641883 866368868 176772363 570691683 569831435 650140556 996118156 893797623 617806845 410764208 508167908 228070661 989075524 914533113 759953949 366448837 989049929 202020801 890862478 584359901 210682662 501807488 380210445 454245792 100393474 206899250 118889892 835050476 810573730 950574442 561521231 586248788 560588640 710918784 365009444 936906432 637150122 686334879 259618032 676385296 453540398 427196285 772177169 561131798 677090226 673983276 430813809 840239472 471245732 550015159 227027232 553455862 776624103 998634084 873518805 221784894 920127695 840810622 650304860 126268216 619022538 352377552 984133012 760696600 672407763 851598593 102269166 309033816 184633802 743992814 874991638 895830023 519021139 156203066 330929164 598043413 980130823 295784289 228558632 810887746 268121338 615066740 532935902 146323981 829676054 467930929 148642146 785342600 818768171 248782558 383610845 611756152 507133374 995615051 357735495 123909715 174171335 981010521 406659715 398165860 762022525 128523146 150060059 638482597 225286287 401325746 633172686 368001279 557880859 155306914 867211479 891747274 125474475 815151244 154575799 527335837 678903891 650391940 191291689 259845304 961302453 358985615 391925497 803871937 331871327 136712908 703123088 113261719 521595876 318708594 543948589 197507127 623068063 986592588 551425791 648638630 317217629 865284209 629330130 598192709 321272742 979102749 741827392 824803211 910515531 294337301 197296334 486180264 713598506 931972137 628261302 573040099 453515530 173607858 950512356 449719811 745477081 103816280 335804842 793333178 610517776 293577131 337442078 143990088 438096742 609568398 640351510 843791979 943824423 892740682 223310186 526906790 383403527 170875442 312890053 745646112 136554188 995838515 355582143 341377141 866305866 937027666 447871487 950314764 977659767 598212002 330968269 735931656 635703256 813533763 436518276 735270116 929555368 387524994 220755969 239376949 728058032 621665861 364322602 243758285 647384495 652895326 976424002 400695303 822768836 561664785 253675639 321101573 520357541 238870193 155044880 781272872 238446947 447121157 755589439 496538810 706744830 211623288 852923855 601343039 248350512 733676797 458471214 272001703 946627803 186842101 647345624 840491881 361163518 544331793 490647751 739010012 239962417 756360109 156542834 881347185 595020038 807999350 860638746 980876492 637382373 549062040 627939622 981926074 708713737 395364306 218910348 291675135 985851404 267368562 522422228 272796250 167039335 332577867 506341634 159746087 987606382 456538823 150587586 990038866 519132606 326178215 943665243 695362667 497555876 152026793 164522744 349185222 578722369 204473936 100050007 730329943 422625783 704292902 327238593 188714124 790087972 641830205 977234184 942075404 980646506 220126511 811160688 275860122 638123817 659682550 102808944 269282761 310390343 154849520 707189558 720828986 740328425 755791590 165884779 139408815 453291365 601301461 197634646 634477821 264703075 871387912 407490884 362814319 644408922 482956110 828890510 401744405 854061499 889129829 414288220 473337186 614882722 378741009 859568429 452835284 787593761 461916938 749002390 356797583 525820708 849834455 100026516 327209339 956156677 268880638 329680840 163132249 957067828 356044225 998120682 554107934 404087727 894487038 595332678 184412992 859107497 881876166 485851197 955083169 176486533 821070883 868353228 817654032 944426469 957485493 449436122 350211800 473906526 156869297 587900976 940783255 284199165 288938351 407539966 250362050 631923352 286221678 342149483 988108097 882747410 963349402 266225128 635951268 160418555 281956675 272811043 878986223 669864823 290563344 421380583 346358086 611020041 606212644 509369306 635765789 420369658 213152465 486136563 439329452 589064775 825196508 717109817 437206484 164381653 659362164 631971837 297028418 832604109 829347340 289375643 650712388 973804046 754376371 936292003 573397849 656587695 596852709 618203984 932559415 120004606 198616079 389685421 136566851 437629019 998119873 823172801 711619580 639473811 321930304 336330066 449678136 326895840 879499245 303789703 367053608 243619727 717709367 451633405 229391743 634331454 308891048 210744280 256184689 943103814 773567055 658397156 690063969 701343083 892761355 862474845 193685726 227406178 175457164 748681174 560651956 136860601 177699420 429312703 567009218 750996712 667645573 116742342 541786589 217080240 529187193 899811130 522142901 394441361 289516320 671647725 167600279 894371110 722423098 493884163 463909729 560915535 774787680 172445023 190007269 810232440 750813905 777750996 523446753 365851007 576910409 267508513 851746596 899188740 491060791 504823005 123662249 514546911 672519731 406356953 340173391 838797487 815327822 876787273 944330678 615710548 258188003 129998946 781928255 208352467 569161233 773039496 502698262 258898116 452923938 458878238 828673953 953065726 204554883 950075676 200760120 840108493 827691360 219874929 942033443 161677663 539901641 300459702 987234225 361920775 357870214 321198129 523711500 319453580 506057256 155976736 151411332 103142003 290517649 527794511 225145678 769830133 396653911 419806720 421942796 607220003 920994981 385233153 539053395 235700510 240525274 698154993 457631440 331227799 881863856 572166626 686641143 141389038 294177366 837785082 623390801 591433135 792719790 204014705 295709566 685556629 270964487 566201886 262066710 794732652 227900669 651238322 358428420 289431413 649993616 151122666 544128275 812787581 959224396 952542980 231341706 279701545 358010234 461235325 113931920 492580202 417674353 714773610 355163903 271596531 423950830 429234878 444080206 297557235 600240908 597959869 254971369 800226112 170743295 190374246 843099545 800565774 607647302 128957844 754257997 887091287 102199427 650269664 647386612 860686774 107978549 149680531 260183737 357207730 551769680 632921013 544847427 844751778 949637621 342037527 389683890 852291951 461285967 131011246 273200519 138090987 608266415 508733873 229024148 875663562 844718373 312998016 418458970 125357138 523928227 906682047 990511384 120816416 172785199 832601174 216427979 791078055 384363128 140471927 446745668 874045001 812873394 686658405 681530197 188208404 165157261 846446435 630416703 794187031 859261912 865527604 900298205 559213100 642592000 822831929 614156059 171126396 236130466 229465652 448671067 118040584 505694198 574022843 667355862 444040563 509394429 697568879 349532655 840288646 134450917 410252113 418515282 192626525 555246091 705723403 826596798 446336837 833956381 398133741 154706011 409830646 138319576 481989332 555098246 738965689 359257437 745249601 255562902 347661114 599865395 668747246 797601856 161363384 322189799 926333104 928126391 444104609 561323963 754912879 530815707 798679754 202106784 770831203 584079319 280939692 558765049 697814364 449719698 115616859 489643088 725876214 431762213 945266988 677849724 883145099 442274406 780911600 573526885 333654563 412199727 607164527 489755715 560800418 557631109 355597719 523643264 902279752 333060147 880207376 582869096 546043633 729054778 913378464 893758057 967891397 374825114 187397413 136094270 292088869 641208197 799045835 627873186 677664640 412433043 331994170 392807853 524649331 163651425 368884992 490546103 286867967 499320912 923056476 847658805 438402620 359054698 354256149 165808002 810123408 913645621 144394164 790646085 962921257 894392079 279472578 575038070 825111928 426330049 831289341 882339354 786707408 165237979 139211883 513528110 186154816 753297099 481015768 744984209 679697518 636674594 446276767 719296696 578210470 425413704 171653327 293513044 119631735 675853807 231879234 713045777 230788757 829258178 958797006 234263818 101535077 341238325 165251027 292540359 923647922 778598961 477982570 622576543 763345947 427050275 304046370 738167059 996287447 625462211 957307933 483663484 198952742 585966808 311495714 857886886 516541873 152967784 372080386 301219130 974774186 639403753 862013528 255081002 658793437 727268097 822251319 814587218 771920071 949281208 795234647 378626266 167588733 731841158 505411868 859506747 428504347 570749562 132717012 250090279 843559056 211117739 983110632 547932472 341055090 357967988 720139294 924882073 180333378 623763991 478486788 139849075 380986960 925215433 397819126 488051726 579051783 685026898 905257962 112146387 702412393 210711472 646700240 648364989 654097622 377729810 666837281 246973859 291165962 397278696 819800982 209036682 847516001 979759016 496570401 357738913 915072371 677989411 377700265 920257796 346133294 624327195 297172050 860795491 879866548 713939370 202375604 718820829 996912580 954805193 365577912 299541584 435293925 521515369 998684953 745428583 541247772 570725982 518175756 176400547 780943356 291309809 774374778 311663318 155522656 864259394 330594273 470455883 831966086 442344610 965797944 332669808 122289891 668952506 471767401 510685695 241350650 730435100 245113928 634759031 351394328 126358743 305964511 988503302 932250369 219837884 555575230 801802197 574347493 273610415 204819221 669234852 445419842 756595755 476646096 141138212 142490684 761055687 123022175 331606904 414468213 107977639 959322141 783308067 552602964 763201922 172821113 888262689 572162588 932693281 411642146 362412312 208791474 532707709 318474494 778728755 790496021 668312830 313963846 902330011 469223761 751316094 651359574 394884272 300492309 325484679 172344733 751532454 360029341 348482736 647055132 209819601 887705781 722200622 841773281 525102240 101199499 874165462 505111513 787944405 767646748 111746471 298597918 478272820 308483611 996778850 615035838 800635494 429303591 703317222 725397458 532359207 917690356 152514705 106144231 723527444 850221280 760522420 387468761 286113712 265644758 279647939 979541974 187363594 247990256 461169200 674734278 269099886 197272631 998963099 216636911 707480660 423289470 659257849 528157513 676408642 512727229 541491249 504332730 597946951 161937668 915721975 648861738 689581131 815399544 860433018 373263640 849906653 833244089 129087507 176555326 509687725 801360268 103797689 465533432 527301253 279808219 957619236 242303835 541786273 795143169 224214238 251572399 126015135 938560467 883732676 715723941 526906777 709825568 396863087 292903400 248413857 304593565 813343050 937589415 149151077 669588407 643794202 581920976 657407490 168237379 552665625 774656639 329646338 476418751 312318127 940448749 973364776 824960154 836310397 948486385 224703953 210512524 805708131 700446663 896993605 158602527 616888780 244523682 212480930 296117467 696479133 686462394 715655154 813927547 964085508 929528875 641403555 762608381 334000307 226528838 393702983 809669467 414435385 315342462 262058046 333459861 763232928 129132496 486084963 897272929 997948385 975520956 415181271 604108392 143420377 953825009 665761348 488964084 329419136 669349511 402838333 193419618 868773154 833260926 970328301 477344738 632405381 414747607 782846176 662426100 628024688 747346931 392670215 813743071 774040058 190086492 456546192 337834469 723274417 368370589 294996238 605995319 927087293 993714215 284602874 739271070 598789981 219535412 866777852 898507144 131603403 163992825 782325188 265617638 447014147 514894847 619561163 507890002 810110124 592950037 603098942 910113922 143085960 697321691 509323900 743748528 134085951 564689454 763958895 525552412 930786288 102493783 602945153 767755971 206696969 930660475 163198703 769528782 884008254 996132982 475240635 492675625 792523821 717298732 264627219 146523133 188506812 916829391 793896934 161700242 760131383 509160182 775161905 521487909 531983535 815358203 930841857 700051336 682832203 790571964 810471264 421690128 167641575 567910211 575148379 727680727 893868288 515477972 196313643 926729653 851477299 859104024 278033330 947802102 552321557 881324622 543300470 277321846 983851546 278496577 187993992 539031055 484932089 831719735 455873184 763330382 802470546 954754888 943695686 349406348 991711139 214685012 356714447 318185250 692675354 177817741 664457779 353497951 784779646 948477771 257912871 600130999 859038445 461494901 910179327 336704077 785227078 946438687 694028748 572136856 918307939 401426603 731369636 992469337 102853167 235265941 274290934 264367084 989950036 749541354 608998393 615786714 971536794 608179149 900172733 510795692 944624680 900977570 488352131 509737462 323353004 784558639 371173657 788099792 534195122 584815082 488183213 625384083 115646657 567446301 724051356 844208747 369088000 535023101 568159052 477183958 588979403 388068865 621474887 564325341 428422155 140956861 542454998 604315965 689429878 661244271 257197944 773064088 167774075 115781431 204224510 844148116 393384788 460990265 147979974 538420175 379298190 411747936 756621887 955986603 761089337 285983771 675523610 939638542 745386264 188901514 153848317 556383860 772065875 732631590 689167965 417123997 971982908 868602309 953655479 862626936 644430898 930330251 961898369 235539392 327338569 875030139 208084241 687032854 228304983 172644079 635126739 443808400 443556046 687944927 895075276 363279601 362149002 783709619 140441838 310486259 308181524 206320742 827722468 367869407 953272136 281989824 110353802 988878256 687526201 946142729 618238142 681908502 970053228 923747031 762901869 657363650 358371359 455040137 785030133 262857266 149051312 405634903 897906243 934925128 362623181 629239132 131389841 240933931 722399487 319447052 111775450 667918461 866452466 357116919 150209567 576408877 847279960 561530344 566217587 102077518 347149409 824541209 609871676 989663308 256016335 715136191 684638173 912903979 209386888 992082526 149039828 503202861 497888810 138917871 637318696 420081666 103168556 135667884 279631283 566168926 314693008 788233687 257581889 236279031 265957422 982041872 872673758 415054219 439809294 397126535 535189602 861508293 106860365 512329531 143702169 758164898 872930538 741414656 800041509 521076817 282405642 903571556 329497726 670719239 322027266 813508439 924811472 529028252 949382558 124398223 972752640 265206073 587306206 761917337 192718420 463220539 137777946 493484116 907710093 471266598 994610111 946542011 954162797 517082954 293223972 981104619 961838220 347891931 891275712 650094811 581041238 789340562 744380128 638875541 589650939 768624043 281828368 602779993 916358300 500332357 190462063 558021929 324507974 756188715 476895303 894702665 839061520 395108412 416568586 871758434 297735027 262358050 748961832 745303646 715208393 793969644 640981812 811788437 948081607 156795367 239413653 328527531 770061937 805413166 709502189 581100754 244536021 621262115 663893160 661480960 784920321 680598816 254888951 946835836 451328835 375055659 505679795 579670832 659512528 731343612 129811012 353760592 896172399 307998802 271064332 850071965 642340475 411706047 360294149 694266010 420445957 971420416 917982967 996965566 388251507 827008045 197924207 220410855 334489950 590118058 550908875 476627819 432147595 974618326 399816531 939629711 391598579 861898525 115731006 122927334 979157925 698564249 695107240 764934772 415464189 242511904 390040095 752416562 544793949 476246314 614271809 981055717 307105647 293288368 481872414 463419003 796189610 889852362 600967455 617029023 193054545 733141483 902916126 692184386 138315967 563992176 594948902 484779680 611981816 745747955 423139591 964443799 785149086 497657353 550521150 448638856 842005563 100200480 456778523 620983937 696865615 498348611 104869119 104323622 428400158 159849728 584085822 970975386 119868923 778018335 455390304 351672027 457717253 995147142 633014172 278084814 315115967 727433895 812376271 320309875 844174545 579356696 536757068 685156588 231938709 870550105 805751607 526029910 825243030 641537933 268932826 759841055 801284978 805403473 331388019 599008120 952724206 882832822 806562617 113496573 138191141 487373370 461301349 997891543 601760888 841150905 663813965 284804359 655562245 217508292 135168973 829603751 440080783 950773368 604675594 483240453 358636384 592964867 680261203 706024877 251898918 436593834 605775062 901419166 792738967 756690003 633731645 508943124 696662074 599842070 928480043 820545501 741898997 932342896 308755562 613218786 812807312 362693738 659705768 438748479 691842611 503441622 751142429 498415470 182950267 413819066 415493683 626950412 258567159 343588104 691579698 923852660 915664937 168338778 495078707 788541007 605449724 495914789 971865000 872376066 416555605 879334370 503193800 135476393 377257781 748142262 284776264 924226274 423564101 578980590 213957350 696374704 202588121 733111902 916506180 853204899 565063601 419442577 500981504 382048208 842370387 716130527 761335155 325878705 592252370 964917460 497951387 730511638 101136639 312965043 328357982 538982223 481196795 685835598 241610960 144552843 363523146 892057969 269405635 318121349 184509805 491674714 663128960 444309674 745907973 662340342 825146913 824384268 971328730 690011446 257549494 327037549 673055555 997835191 570983440 210812114 640107623 234352334 255936016 995560473 663758532 498448364 853343322 244491584 444268516 952343052 890333159 712398667 390879345 624445676 250037579 883993460 559339587 235637409 203641537 502273573 366687016 265629357 660732185 318302730 416255526 221574011 938399347 106202997 847330620 113734742 460052133 666104495 241237029 470450601 265428706 694572825 227026789 353018446 116660466 171894484 680705097 916448767 256116905 945618708 199125267 134349242 993407761 576866458 584553201 271328995 917082834 706519646 123385392 648077680 471752383 397968833 326449197 882210952 492845264 717680816 191122394 709366507 576111086 118873091 540803653 307289295 220473429 224585260 600967822 319505818 759847075 755161651 502526058 543894771 746410132 377096886 679542324 518220542 138692572 551258147 139288207 911111233 817321275 646884524 767417980 277074932 281361927 713149392 573655228 796821511 615448762 502175715 714538778 219467042 472567443 463714119 151099121 805717665 842611784 395954795 399463637 654636909 254418678 674952575 103682716 346943254 587577237 188906439 627591210 269106989 754328978 661187776 392464842 459320368 373533888 919959436 930096627 149925935 479520214 198190935 902996061 786562437 267864115 898457757 744197499 457720785 985800593 158238665 382976370 359793372 231841717 537548794 795431153 922383013 304636153 892881205 170132984 336925514 718239898 965962823 429232775 850266586 198162715 882943930 298231672 234362569 989894102 256524007 635282339 554737956 174297040 162583143 806726599 569181224 112525631 158068375 308456657 229923258 641919535 665634747 979291494 104995098 787128109 187759995 959253908 797499624 683376359 906236415 607588994 775562889 830287970 454234971 299352381 338334830 481678534 957731382 676061229 109513196 456041406 259170449 410764820 272071423 777778284 105358319 985421657 192596624 244907914 956249135 955371575 274982020 573710615 645098446 508729842 671577139 184525877 681943260 238398696 263459221 137177799 260116015 981860206 824483856 849023537 319081513 183905134 732141297 739764920 439575096 379829563 426049898 887333214 645184891 137346179 560264485 853164344 759257384 400398067 671286569 650098490 994958312 234472014 179604402 507712949 928943324 705106309 385371612 355428056 106200780 417879468 580412243 898050780 411010081 119436640 439461653 787468068 930903766 500717929 532308067 678743139 593076966 803901155 782998555 371384872 207156405 624964075 302826987 690161511 493063077 185678114 955546535 477320593 390636961 529789729 982445477 233494092 936293735 160742537 555645787 220497583 944108272 961191680 174955809 105998887 183225759 192023304 878943474 506625535 540580919 792787486 647788108 825552241 230051836 928524812 757954107 775747590 598021373 418337779 752677648 924162346 729399850 215160364 127166906 975549232 888017156 962969076 598134974 205751532 640855063 219270269 182937851 995456600 469281946 499769894 411126555 665020455 860289174 121429887 897462366 787642225 986456435 669431803 687430489 579608249 801048983 269356231 480902654 398754927 449033154 402184506 185773295 887676067 491635213 896730458 536117407 320738741 797488900 548803078 409780451 366814079 218732929 268659149 251121221 709094395 763011521 377851774 345766118 311750142 788288627 676071972 408423154 906441741 232166577 959238792 989027276 389629884 593682682 774006716 309021663 664757619 902954841 642543333 779372445 537196662 214368728 791759877 621836890 227477866 704324547 600245401 196502384 171529221 445673439 499517347 570119869 248215306 501445087 393088491 458803411 433476927 776615681 921980834 882995941 661316668 885593592 275278197 450414176 165064532 160907180 385937618 225216726 887036331 193945958 316329343 359528767 925212998 511988718 643719464 702999380 799801470 509077585 990558514 417773279 552780701 825100967 104255140 292831402 483433888 710352431 722004118 129477177 412725209 875695937 117026450 814381926 121951147 511558130 523382611 539112846 571564905 437199910 236702586 263320912 845937510 293198317 529871686 730507471 104568421 334483064 944973420 863924304 502511882 683725442 226926854 981663334 444895967 436888042 729249760 540743419 824537629 533004796 678458683 260482485 651131230 920369461 357620841 743494472 840711853 596515687 929053938 937803420 666475487 162629469 652104532 922178537 899081370 710156109 906205206 366470086 149694886 807423686 922753469 369156666 517849043 316374743 460653889 272572555 256851487 877459402 617025155 855359312 773823351 952741104 498020167 787144055 575242410 777774710 721788254 379410445 460261198 111548691 189182050 624496794 164040879 729961329 573531056 559024255 699033170 818747157 302782768 611797663 465279028 324109368 960586420 133576609 175347629 666955233 809245628 679187331 416636763 792638030 548700826 472284974 491175943 829825735 356892119 508496822 647573838 228712443 322103769 254521295 632957512 583397695 721737128 682329314 618187481 329305530 557454695 134211970 162046984 620619535 489527203 452994118 203189814 101850918 534667474 959488100 341834791 763876133 636339373 238890056 300268327 357284638 613712815 222632295 599256372 346523270 317880717 704623319 263167907 228349575 951418522 426754923 487757686 803097247 700111981 807276280 953229104 932829050 860059482 893325950 107070367 774880999 522352318 493873323 615335938 348923025 864757812 881492882 674871435 847753284 277716881 254447734 146683738 978673697 990246022 977259017 899455886 705174501 738153903 121614139 841246212 102653782 675755194 954508198 766294860 169465852 488442504 647039816 978047462 105277594 171144429 526658462 126766312 933040712 148656575 616571307 599686649 112363383 624568624 810235900 682204313 466862950 705309259 895782250 196471597 282368175 706791125 369128782 335198340 536839649 330655962 854402590 886468159 231982710 483541419 867846840 252972720 742409483 903491229 214521323 760235436 322813860 541389450 316818161 720758982 652824827 733648367 315269117 319003250 629000703 339953931 155524392 265868111 309977821 927974518 613205646 480399442 577612092 235773673 600698017 114828470 445494486 908298188 576293297 406572131 770027098 610602890 595765884 177294127 524716985 722426539 439529285 610009248 346309518 430253891 747054919 561174059 631593687 453019760 702150005 604597417 255778024 128764637 371974675 914211484 563138530 135066863 646124472 686061822 352444959 683827360 812817542 198974690 626012732 374466640 382638258 138754543 210301003 860026235 588542372 884665973 128183518 280760923 134579650 595439122 790582620 996012646 490709264 945710542 106583802 398315213 279904048 615396413 137879706 776532827 219837373 987086530 724260185 806032489 960335537 653719092 906996712 909384096 248304973 664901594 502126908 829229332 539393220 298332981 551626499 499987726 670608247 344963072 331722325 434010081 407068206 966318357 335296227 560753667 997826986 831737659 322827781 272736663 503494030 963034807 453803466 503867043 336910813 209776191 364864536 169525875 976134855 856940549 925716801 121111341 180512610 422589110 202148219 917581470 584154371 766343487 301055413 788998274 418711738 835299801 469619853 113368650 561502487 750743046 161998713 439850023 376920848 649831226 479516413 248463357 813501460 483263299 117513766 919251238 454421275 362867039 325004563 499808818 729951218 106230451 491641359 100983784 795550766 479811236 329501340 476740035 154134993 694012380 805604957 321880517 797314445 409435382 231910044 606397090 795373451 894905006 895667539 793061840 580338004 936767493 940181117 773248586 926985634 259937371 703831917 299259984 872067736 498685183 935838040 902232836 291286663 248599433 692748188 928233617 983249010 392717917 950887399 501864836 814743385 938823910 791655623 902209550 354605365 750376707 762245983 485156172 797557245 810447476 512279533 183899837 435667187 348610611 356547504 912291984 733976677 751059672 908703771 807231531 666114898 969851340 809070518 425562038 398737602 765808411 355251686 828788306 503832486 746460800 282643119 127002653 358089492 725554423 340079825 295323581 943149253 631619557 932007574 377931521 716645656 509951568 626474776 349234092 175297443 335969003 232974560 918781586 943389631 809637321 683452693 652526451 100115783 325236510 273147124 981481946 112613143 182426023 219689529 496565856 176604962 977058763 701035496 167224144 742453975 793231156 410891072 529059550 303557036 768925706 532691592 274582243 948079895 841571528 100329433 124254328 291087502 196618257 551133933 969907687 813643387 889620889 564501593 103441759 851234241 174571732 204159769 242649954 926895749 685405939 561020835 890108315 316778291 127209518 161948538 163513299 748909149 356138976 221127126 935495808 474996698 849466530 105828049 349418274 407164361 391148950 277838545 529078177 317804409 889162445 228590676 694865037 560169831 358974477 813008009 947195797 239142144 718053325 234120883 612980134 339335362 744587391 940751849 731844835 817121903 474390420 781331088 598915085 612247161 272489398 957432905 685813630 260257387 482774375 249365298 918777460 860391734 633470697 763143211 651825774 499759673 368934866 782264311 765400777 836055103 467631227 563990742 730383562 340375130 178855033 121029226 298529297 419218753 439583383 761437350 865189749 532563822 589325084 789009461 779479575 412480492 861236011 483835119 189777380 824293522 571771870 218493218 896576328 400358100 797252795 501133477 720578782 639046362 217206384 616856419 417680854 182564917 978792863 128735124 881354967 703234734 413328669 629979234 425077028 381670631 102789748 504533938 906510404 925309150 167637002 595517040 194600911 506595863 138967849 920576118 664345080 342189924 206739470 602558301 230930612 658536600 779168534 807527137 365875269 669486164 864266244 480901316 488204393 275659930 589213145 600903474 456905428 690860480 321007738 518773846 564820442 312883127 788912708 235677415 681268673 740578217 711578355 252940476 238672001 618852168 345265721 978254625 584678217 134558900 378984123 460766389 473978425 585951496 709181771 470905506 962023580 352161705 718657827 271538954 612363307 606789377 442644772 703508502 463451562 847284832 844393264 379498410 879943480 876891354 307463617 649846975 785327974 692812463 522048694 291104131 850466910 333752617 265223676 991714600 121353510 706543027 343408008 106131332 809261087 896220131 778946922 595135826 951613740 842429541 681718588 949056737 985969101 777455325 966046686 255488331 464563176 117996759 174274105 297722790 698158854 230011230 805527920 262747012 396657470 327040700 232751184 122607597 780915666 993376233 990106359 920436924 737115984 465835912 991843470 435319287 955672191 186139265 156366282 665352357 561318382 792009713 529897414 867651692 145959833 937366964 827599113 409817047 394828063 521478297 103769509 710797409 540730327 812068030 928554787 547008966 882759197 707462673 475046892 919720701 158099090 860081671 716186832 456438987 862074212 247313086 519551397 991640810 269226001 940743562 486448796 501269924 952293925 489211178 628568322 610075693 123064074 864632967 976741023 242865576 859596768 280936587 848021323 122487209 448790639 525954644 518950431 157322192 626367318 977989595 187673716 528660706 112761079 757653205 307781611 612322759 749365997 408921084 197730435 279447631 249284713 511629397 410173846 912650702 373211316 833956462 234828057 411086730 537955385 195052918 206114816 249119216 678317395 781944874 270695316 146474349 797091382 521926060 280420557 415482987 766901655 300428563 167705108 415564846 613833414 813047986 261962598 469884948 171310174 855205264 349354552 726299031 196235022 444521867 860666718 954995439 506827058 259023943 207102804 408394810 693828541 177872367 924931379 706954361 161771865 670846946 447864711 334610390 533041367 898014693 539710693 385879987 501030834 822056661 227464748 340056958 813352647 417323455 855668258 528906972 783935152 113794286 902277639 710976832 425026288 329680538 435143997 272190311 453559601 482142537 566060101 424926345 757527955 562811731 725920047 557809012 374438486 395675985 971626148 174298885 227686315 639856211 966380496 325286796 672219338 481231428 141278268 830590538 955995643 699204879 427891370 198503960 934021853 176780581 314295105 985318044 282513379 489132722 903532129 318072257 875405349 771425284 285986070 652066649 583423211 784914536 268032848 444041449 264056145 538308069 403568394 463244501 250801912 783775568 660533355 989369358 567737843 339663944 210551995 921683355 879805151 496804413 686079636 338127505 961615738 687996478 152237749 696371433 941312890 431385707 542429339 608791842 231044692 412257385 573549982 979873728 400772757 543789100 803060740 253598006 220057243 561239456 174458678 195567640 989299559 558990502 135360886 128975527 259363080 231843782 542245454 416817398 247058739 741281486 327482037 898515512 790769062 377083767 577874741 472274962 658133889 155282678 906871218 979679611 999976584 934701695 211886252 261015663 908927715 181522700 131594905 716085552 902405653 259422031 410968458 145515907 531281775 225184635 198260432 569899507 580706233 644607319 613223869 885339772 683399309 948387922 819560176 789859345 571211500 820403728 892504774 481542685 263803985 799709680 211211034 245296691 123483004 182288107 911064110 518099056 483301877 357239949 433151187 988050334 419057414 425314687 513704389 116725751 518851192 385141458 406691486 362253017 196906492 512682792 996779571 724259568 931489880 734979603 134154561 291731705 591977753 522778760 857361772 832138954 758453057 913325636 250486175 878809668 726762687 300359941 794010662 672305389 147690167 649454273 304278732 774662892 922125273 537150299 191244999 459682998 308204970 426623900 428336636 252542002 701740889 754444130 740503229 784142452 982833211 191633319 705010606 580920045 206777490 608249257 695566686 654825789 212707800 565909001 130145645 507719032 975065770 515654975 665631489 464714527 755801329 664752182 943739448 952603552 931558970 806511290 242101301 791891305 141094722 844347502 312028682 555446830 114482239 824062991 137472893 318563938 269033229 759622992 856086475 190201631 901879690 414957139 451691810 280526858 945875972 858000056 218438483 977687039 252013035 990525937 994427244 665536481 916757478 569138441 430905757 746004067 998359008 648843452 997993157 394376130 477657048 785690138 876305962 353817052 661085130 175557487 229638174 649162571 193964049 871339416 380511962 647068103 842815965 248772410 331319214 977510125 506982673 181471572 662146208 160332426 403287470 383593267 106051550 229937633 226549614 472759359 231519770 800109090 440977383 877052132 225214485 100930705 920677719 317233332 224431288 484069834 503994633 358758704 134817971 147567642 227785919 374561716 852496172 920057436 395767975 881208549 659779343 396976172 144369074 896220346 367687579 970139879 800681101 314380422 414151621 376250528 140034115 193821893 881096325 313026501 248166285 780978395 888489367 109646074 728640780 962784245 969800260 125670408 895037396 802287696 733085168 784628021 315053760 540303159 100527449 811735226 423871606 166617540 947321881 389383789 832948289 901628999 559490402 271052185 851660654 248403948 984456147 251139279 969913796 367277918 304255750 848547487 573438270 336919064 848030765 121802537 384560880 400462644 652162751 437306478 208361704 777801228 735550554 544913797 222613019 178219742 322035575 333743012 415915276 157581083 558745491 560031660 283661508 588021912 222314518 974074591 279238756 510655973 591605173 396541381 962564554 416153733 843493354 233770968 939871184 558009703 753243483 151498339 538502390 410438907 655997662 663844483 479333515 364739302 133617201 594873396 767489630 823499447 327022193 255965078 353273592 644990974 978119794 136958206 418782770 794553428 615055463 455035442 702169070 233841301 754144808 569466683 774507915 211387137 997440458 104497625 276454032 473099505 488253252 657130719 598067093 904218097 988374103 161612861 105700877 168827625 848736623 188472362 559725730 859581730 980740551 437762292 101752677 592368585 225333496 647856682 162446812 235904501 267324187 682835684 604303179 712193636 992182827 729895761 442478737 983867498 882684141 365247670 678700582 634118090 641549196 823106534 925646361 656454110 407042157 331347584 388446186 548043361 960706582 601224570 345018351 781085792 267806162 797341809 490490606 808519188 232084351 455401073 131401373 575618436 899109146 429898603 550463575 303592566 199890525 288918409 446279525 463316269 178962353 880398145 804661506 207770329 454267443 966187202 638148535 173392360 849070049 877601312 401551793 928462575 491176312 814497627 896779151 470786799 365521697 367328723 794563035 889261824 254120809 374871759 351524309 556350336 629699631 844134308 205024572 220188144 893541806 139925540 625389696 946135746 402152135 976840053 317308506 937159874 547194236 948920103 563163706 275836735 664693843 942415158 193316824 452258183 378441269 349194676 937439713 162893547 137834491 425076663 746834409 572607819 976325163 560634224 805936546 935174745 713648548 950903454 313659395 308807650 207277212 174273232 551535917 713809347 108853661 894405088 232175602 814079374 283321948 175568704 242997571 395133506 443299589 977170951 732815985 701711456 863326033 647305285 158806172 424707995 688880008 350894469 841043827 216545336 259081091 887333193 879060422 508774953 488477513 198615613 854118190 357504012 473240629 245846858 852989100 626263315 551148988 648987336 906562154 765071320 180579789 862904609 758262280 537908813 888360422 328967771 881469007 581335856 692595913 935057269 693386829 580744327 629398111 198690513 956099349 731332545 434394458 666218203 865950864 116653024 494715780 589786193 202428104 758863600 393005494 735051371 210818383 369360185 460983202 117472728 121676873 589215533 531750467 250410079 121019146 532030260 741041015 261698227 932089070 358511196 134686713 933183925 287451540 871503129 510173130 685598192 290562674 883271437 644949956 383321548 708189683 478662716 549594610 384749114 354677601 947199790 805645234 177420233 335892902 885867129 374000677 234986636 461049204 288381318 278419123 130459015 987577843 415028041 591987661 617987688 991243898 315815495 603319228 409561557 837058320 893514309 650089826 973035059 875298637 478153808 751821839 890171417 892801925 255580147 621342923 611380336 520281437 399467400 816143290 696206897 691125035 977582983 966154679 158866765 205016941 341446474 499491189 677070926 419442014 516111224 818129495 939544323 359491062 187352656 434824063 310433262 591381040 705783332 207457433 102547915 811091236 332084310 208786971 344724352 654024269 778150699 747072983 673117015 587956293 354603617 868146854 408862047 157204197 594842367 173713459 213205982 146744252 908183347 589824626 393944546 496457866 358861279 175063971 946474648 445836694 842904592 565259201 391713062 639512006 945773663 484104649 325619641 787052072 970850279 738736238 472231540 941199409 690982160 669469401 422626332 738767183 367147196 969622391 479029681 306369736 780905239 762066972 190808685 617354442 945740357 841337387 856031746 853798798 883582091 391218736 762316885 358861930 800575259 673608930 178127757 373455933 371530853 307217980 427170674 233406562 568547684 600100868 209203124 366287717 859459945 103522010 447692981 772190820 914235780 201287218 492002375 465112865 201750104 443355286 453542316 664718165 928828736 263525346 907870798 287703596 803174577 686226369 415111353 255684350 245068681 978682839 122062276 820675794 336577594 165911175 944851530 876710731 235682984 116444953 926767342 699679686 801296627 126296477 463915755 153664750 949951337 170183090 925745131 883643081 753655225 851133724 976179420 630914124 588613088 470805031 982751261 743237051 364168987 344129695 402246604 753187826 959737586 462533311 766531686 868726477 174677154 639183679 729397259 384473362 760553594 880121579 147093613 788237574 808894684 280896980 456403722 611557529 291360914 511872515 837142298 745087040 662346686 438973516 511448138 768623930 515521800 735505993 552200064 249121328 680090999 339543759 458678542 842159262 351795485 483278374 319950392 226472367 611159948 319769621 288734116 533192730 223338999 209307070 487231914 403435786 872033176 500362718 739898879 358728594 358966512 443286097 819125845 393490745 604951494 879187412 266448205 897636241 765186837 837706381 914124406 666337987 750330985 799593157 800819992 913589142 818868053 789556843 465224251 212666319 222496000 526172416 730481369 632022189 962994178 632352025 233372830 403970664 386235423 297635533 211363469 180258744 961543278 762541178 759381062 640740227 766506290 161779738 539783378 828652013 947259094 229016974 183008405 479144875 289203642 677746068 671076182 110414912 455276920 155859684 426732546 447058709 991014538 704382072 243664610 209834670 810368481 745918622 887341961 917649927 750641550 451472939 501140287 561145788 819213058 134363113 189687602 487153343 233194097 866483939 528999409 901137703 724414123 114990684 747410857 782083079 231997316 121986859 500385245 748439418 963858000 640799642 967076490 332319684 399777469 937254761 510195596 423341256 734995649 323392125 174609034 477214901 749311255 987929718 592589222 669828041 686166585 688800846 600910197 510924645 957061721 565542780 420421253 243983498 904620801 444519024 872604975 635692804 140449482 368753522 975639051 283144978 186682596 995278206 933104640 554487404 258205790 423344776 482755403 676352778 951747102 188942051 748519784 540634900 460264833 953451010 326051826 969579287 782322543 550740004 131021975 960898612 457321052 854658502 448918971 476126712 561103620 486760011 655321642 591503793 592495383 402624244 597917232 448841303 129695661 349848419 541770260 638524185 131455794 261048503 626819920 345751035 153349550 833244574 425846302 171120765 158540812 442097186 476125853 873315924 232350437 744853738 492915117 333948248 602919125 451942868 468340341 419914780 937431285 837633614 224487791 298948658 580333121 328921453 828951459 796009550 565518842 302302134 300643790 376305961 528061999 527885265 776133977 929744089 835267770 736767705 983231684 860451101 489935946 127926379 187826922 755817653 222842611 227493506 718232859 848343719 742555767 319528134 779179148 985527460 514674742 956415923 584701675 670642394 474659350 757835703 731983148 292843588 223962841 720202988 179398314 838363964 657231418 143684739 944091694 142914988 728194769 293280929 314073773 536249702 851177497 226345242 291569193 600747396 817376122 514048937 540611998 426612541 376362507 326839248 438066904 645458573 909184884 122633744 570851148 653241022 807985641 556073156 772484462 437081119 809202365 989691894 824086768 690606198 398633837 183195397 778008051 750105178 249300672 296708873 753686162 174321160 841631041 463721294 639953775 610593793 810930245 541483761 549607753 223918621 723526884 976134457 704468911 406217760 842128249 328467464 698201035 974491631 603573152 891820867 633026754 472992466 299151336 985822920 395354662 392163552 285685368 715632909 250019004 846293040 110662412 739405323 328771545 698617386 535685524 945246291 328607834 959826894 781003038 910067563 678941544 872938970 824993320 733580401 372684498 813834194 463154510 558530988 923945480 799397162 606044229 575979443 619760506 869085798 647190316 568287168 306301449 803148932 924939570 763785519 798533121 969243392 894196251 234684753 520189362 484333519 323569922 608347374 722558187 144797551 676531565 547014779 797655663 871155332 681617414 831907379 199515316 521251867 764123488 683000837 884951704 359036971 432825591 122199024 103372534 536298476 245487032 556431968 553005513 121285133 952628068 354453589 848601708 859981434 917824952 643812703 265133921 515135614 154744603 179282469 770835135 551641845 842265536 360282724 832065488 576883730 206467674 307719700 775424174 108205195 308631070 842877693 841836550 752474885 647022447 507516549 658040377 369647595 534034703 722230236 238767303 955538084 175385068 364735048 127381187 453310565 266218995 570197775 833520273 472737811 370930766 354846325 791758670 977464113 549151752 963051978 201903759 202424521 903313535 494811767 921181362 624176994 137949001 397372223 413955716 843759491 416926256 857205871 877952181 422230015 730322995 624212271 160066186 488733983 609689005 410071573 568579370 254210171 569783684 748021709 534746145 947633085 207616108 422534392 939071950 143230980 871412516 783709937 706218111 604233503 596418570 792123580 661778002 252465391 291687939 693996441 194863446 292171717 889337730 937135804 455519190 497648887 753823869 715183844 646727426 805072444 427691818 161440852 277241340 896954637 958984500 474414852 501488211 481375184 670521918 496505596 192709104 212576717 857263811 644211096 521110405 536913373 983892400 891559533 535415980 194229205 938075069 221054292 160935658 295722060 731221952 891424504 865599041 389887781 571209561 443207225 628851267 110857944 172976953 350878580 843435427 737811818 137952113 430660174 565442051 361762366 370059508 198964441 835343534 381113106 361802391 612699954 214350615 837249055 699204684 816473911 564766273 673265417 829918173 560257215 556184488 698512807 424741608 528939081 921299211 990109112 265783407 685308540 884390313 622477529 880022548 826277366 676017108 316817075 796168384 166696673 699232728 755502813 466775325 798124637 344735101 157251322 260740157 294314400 788859436 867684851 920722551 912259870 330657859 592513314 291168261 262100070 148553483 545126407 555830502 266708922 555068978 403642913 981495264 451113820 916870254 617400575 901604231 894039042 728758084 780740065 456082094 621497664 727078936 976233962 726763954 760874848 237704494 465784205 866990557 224419682 778294395 366233874 682548098 502310745 835171987 802777288 268477678 460870059 918661789 794123476 986718262 845994811 184218882 774637908 892821225 118557211 732060433 874062974 873624748 415060466 731732497 944509365 577484056 296405701 526369849 422946874 272872161 594572471 552387571 206299110 858774846 745893063 116521732 397365594 334355478 839073595 943233473 457329610 680255574 955404767 740437160 451197260 177077794 610903779 152854076 405328471 593347182 300664049 725033761 486435373 341314205 863210189 120200521 157894253 125979913 838657889 662766582 931804372 152555002 873819611 762417734 345492205 622197772 419079932 370432324 685991412 778594506 622780693 166562042 962403757 420930780 469145543 993543790 291911332 130937561 472130294 972956485 311707678 955134246 753341003 749426886 836104467 820606378 441893976 709809063 128247060 506458429 205381622 377030310 849444956 798419052 763605915 944808383 408908926 801386023 131929738 892314583 487379980 139290088 492038516 540941481 689911499 165815977 925835412 744042758 232460703 316725962 495287125 669072663 528521872 749122564 237952165 558380007 468436297 511519017 515367088 987868705 892943889 449040100 162666912 864691874 196767733 253339662 593002950 106102063 125209375 550403089 321220078 899588780 900939885 183321981 819297046 221062111 763614079 747452508 109123548 173819338 143546658 601740506 644865091 539876201 325685607 358753474 750343103 886240143 136739482 798688761 575698946 421405683 780908728 525069637 590272692 393525047 471329517 482256499 841077229 889887851 188438758 909753823 524201482 838071089 780091852 663611790 982887313 565100849 835407780 798458012 406165591 561692344 579574150 448131722 526820660 867277217 185834490 920154760 378833129 672401970 260675370 875265753 588834142 452467966 107939536 857125055 437261489 532440162 824326514 477509365 656327849 723807566 118970303 951687193 739733773 546914553 887515670 632714986 882970938 135798949 285068702 572062566 377266097 394567332 752292393 721482556 655421052 877535864 176548808 654314245 109178871 967071568 295135918 670091997 946808371 237099719 731997087 207845754 318541680 449929602 276133334 341917385 173621501 680953055 695928840 896236286 679105124 779655236 865863786 665051345 952736278 655572042 596510906 130322750 949079705 297016303 545620367 492551219 960952274 523628895 715840099 266653980 628686656 153904701 920850950 765083368 944831422 432860153 146629679 543821514 259710513 558508455 793312108 826688762 701056176 624594213 187488580 892575747 226065356 678869207 925205329 435195954 665861937 846746478 888553160 525876014 571909983 790102967 940063395 308243938 716607324 940981060 669610383 698508947 158340463 640323038 897441667 199899443 622988805 580536837 353261486 466683093 759847293 787547566 656479435 474964528 684191394 978815956 772505046 171914750 238420974 178567756 891231195 557208619 177504902 434341428 902445056 254100062 633390832 936886292 651975950 593008411 166397125 811180733 861330050 775548429 847575131 375845951 898119740 110658910 603888791 534204410 230656272 513422735 343667311 369976707 634184151 977204113 320453144 876799055 673467866 728782396 132406274 237013318 920239290 540039518 226381948 973862136 449633253 236069774 133261139 183769966 358327634 591888491 943076381 661148956 715617191 141878402 926185742 574980680 868599247 103210589 383488572 835250159 907931971 428195341 568229002 932970279 445768996 197630108 341117265 721696465 232012612 779402271 141738530 868961538 323655974 391934429 353626082 354530895 615211436 274546744 941991157 188530133 642201260 737791744 423595728 962909756 860505091 332800726 459565394 782849356 909844656 739897733 494353736 916820294 388281139 271124996 434277811 202026796 695712954 595487955 598272645 746603592 260901361 591825032 489545995 707947215 583093367 562743101 865332516 184817793 139812452 757515927 351918140 733846286 371815547 328670038 889290118 731933455 268366537 544593380 539773193 877499440 583524333 876774362 166315604 843342797 906161173 375035447 272849959 900616942 337219148 441874175 898755712 537827976 764479502 855471462 795095145 738498939 379454604 137433344 933661956 786709336 605959304 875770240 957206123 744814691 619657110 964141951 137516489 114563384 223678587 229778175 113230787 936356474 362938253 197287962 253576531 732826344 490073870 228267362 421359913 380252316 579492277 228552953 930549574 284722087 285596164 869102010 212391086 390998965 745597786 653163795 782549272 480136116 733952332 871813645 164647823 896620847 169421214 120395162 589137380 271987305 838711273 516125018 410948969 417201117 367564691 837905883 298920054 455672588 404308121 206971498 973351167 119307772 136577789 157619985 546418857 176686395 548946374 827359343 467128480 982438743 994338171 409520149 735725182 353180970 663536906 891194814 140296814 797649681 584367784 608464229 186163540 523472801 255041424 574378389 909174981 489697724 382589123 267441800 554258950 923647484 201626627 659128521 675540278 769014014 437294342 570898780 283696748 452176437 520811416 747896488 240658386 917836028 497001901 548358123 601698688 206971210 461058584 216616859 346635540 296709108 789824846 445679660 883036347 524956594 986782609 793070293 146422345 438126224 246909358 817786894 600554590 825501919 900264975 522093442 301151801 124361866 930357987 178763109 114170767 574749334 774056352 563777808 480949922 565116304 517286630 678788402 101575866 140635503 452283616 854195186 236502704 820020125 972566515 566650458 445373487 449033428 994934559 990438053 190353436 447167427 381249955 178361866 148306216 466342183 143651920 253112380 390077999 518143778 983046652 239134167 951149370 961590617 152930522 281906477 699377039 892961415 525869933 580226925 228851325 177168330 419838084 902069948 275889401 912566265 212163629 912887807 583890728 351578604 906175799 290062985 620683423 765853142 585030211 255464977 504344066 535447711 114538785 482544848 154311387 615918564 373881233 679690923 346920286 842084936 515179716 937541463 597127708 907707505 966367544 303795685 865260224 604993857 851952256 194401378 356095980 532821171 626858672 988832085 865213867 512578262 486110007 175328057 183242897 342198659 167609929 550899707 779252717 250602191 791266416 206397035 839061011 487167551 885531129 191615996 267719517 756496037 695743601 960035898 428341125 904013590 401063237 478028033 948257457 415098361 891052539 623485316 364998529 113125820 551834797 677366326 467034397 368249185 812692205 510899319 970980467 442961567 320720103 577508311 418585847 109333287 885578230 675975619 172376293 536314018 569954102 319232085 138108071 829286194 250347794 378506884 126866299 922239733 186106757 218854996 240749574 315429708 509670230 455409008 471664510 757071120 380784278 307532670 774649064 382891062 252130145 436242674 743145814 291028747 115582780 834668135 155933366 122729440 823224993 660951025 475487339 238201478 412208634 562710188 546863438 139079833 774256322 393432292 328688694 716968253 134243188 108146192 759514857 215325013 573305871 267336827 429018055 735176154 924074138 354875641 791924217 856945818 957169272 124711961 474095190 697518793 742867309 335469973 433344519 605838189 374090128 178169839 798056891 998206309 197971469 463776381 867395345 646661151 132344943 474533342 398339418 913278839 802930304 976531753 690579010 415472803 443879219 514318886 813887459 890434834 334013905 724705612 943594307 616325676 834884910 434525860 815113833 956529665 268623313 944230911 490449703 278909038 990531978 885740051 427794393 363278728 786589660 867332661 236472837 707953932 873547142 950224045 659807891 598055614 701536590 760332495 663755342 310193319 231801959 339035521 867277117 941305053 165299439 220244978 265369168 179385104 663895505 538663292 972314635 841662739 470783621 314186990 790265681 585333005 320033298 414121654 400095520 813454227 572839166 594820102 231247015 521800595 659724892 491121889 547011508 303426653 212830830 522265842 776982813 914630494 915252030 690933855 618491165 297769640 323265530 771634899 492237459 732253816 922242549 460015969 552536719 329764156 733502178 840032121 723066125 413842048 549025123 847868279 791355550 616332197 612304842 603462016 480928882 727816456 932918909 125109721 374997416 257360474 319961557 501441925 301888189 253037194 444574272 673955749 168044774 323991788 488175545 944415197 826065426 806699847 894942660 964053987 542069831 516853479 649907913 432463722 990722604 662092392 775202531 144274697 689926614 478253630 819094234 518539720 915095725 233965876 418606983 175479993 938505693 546625324 846874915 587195723 895304158 430158511 168965153 185877262 802548099 211359820 889463299 764978289 106147188 788036508 381709242 945929473 448623268 580646801 670699384 871547359 970241396 701225971 356730618 260484888 403326645 486336652 943644987 196942166 407189236 595111421 401817086 828324581 855629896 809171869 642754250 243847576 387732504 853642894 110605102 357074258 405059303 692295429 929296463 599678560 666289198 995263648 469203549 975846951 753684172 409205854 564259286 559130702 498930198 365720361 654014611 903538354 718305478 831835647 628176127 165200653 679007420 119256611 430834600 211389591 608221308 447070165 118508332 808972631 787174491 957753377 163425168 361145505 777755736 660970510 772265965 797662611 267753875 334717871 452751401 434215886 520836890 134467423 670730700 674486355 459967138 543562659 371118616 450067790 860858063 749799106 878260205 900514266 605044102 417755561 453358524 522306583 237123755 758948735 446658474 406516539 323025893 473450782 168065085 133996338 809270772 729001084 474807834 389383235 688541175 559733575 606216565 391945238 134126207 321357009 175228875 694251363 992004794 468477101 665338630 791384761 166705383 829985659 277564010 975019855 260795317 832135459 950477021 173321473 111671037 434181111 902609544 339682803 725048606 228044466 604781499 768537917 865167884 904278446 548105037 481757605 705933076 561800315 999510487 618808443 693179939 112486738 462743207 100774820 789111090 344502173 769693005 749624555 895941233 890747301 143973192 595253754 161601552 852907394 477030602 630416902 688445599 666396639 807875245 680364824 313807245 964122708 716078091 220152654 568097418 582340935 812744923 827588059 924933746 648874775 262230404 406000483 387626847 232816038 777775415 948876281 292897518 935563209 847385583 332171036 600481272 871993292 446234331 711220234 971795525 477787649 781692107 410745914 354033026 782968039 372829029 260453859 119176189 213690509 810504945 891776946 688620063 407352446 643768419 733163393 942961392 931156028 457731440 921798104 891869839 543688729 786607287 442472584 540930385 452442853 994192754 816402706 348326332 787418026 903095744 926383204 702833865 991349922 252712001 527136427 101256532 756521355 754023928 312146539 711863574 567776481 879053411 723819591 326189355 897976928 948589664 601690376 602725736 453554744 311984635 196887070 223203194 251700688 225294049 130429452 333623424 700091141 428981271 905220609 911968037 237667821 937179373 371056801 162778623 710426682 432616239 389831391 630045761 276309208 545691158 407202229 883934859 756429067 926873529 433124410 769330003 607630656 494192556 700561314 615832471 550545963 652248538 192465485 635760039 693382082 802642674 190122387 450551438 987104480 842914224 861117907 581007289 319829944 729930273 432976830 207133725 633215744 857716304 282015235 682207044 187638807 458393345 356262647 949691675 647416619 641996824 597129726 957592616 190967804 894389571 746671257 561780835 647616325 334824169 468095234 948083921 401802510 589292642 291091163 852167605 765248498 647805817 758953276 218839120 887195828 408062442 721729000 832894624 285407857 820855960 873897636 278723728 892715218 256266407 278654870 550632703 908747815 679758514 714064881 734044306 278127778 987417456 683401570 749174715 423804578 184552333 608717907 519223640 421898385 874950982 146503108 224035180 236658840 696234157 835844835 275997408 340897454 307747999 317172998 196433980 126653919 236156892 394032978 733193040 908620814 605825918 931180977 681944959 370141915 988504110 745645494 879682186 234286718 844429951 386417384 699971498 329172152 860075740 510358892 432490345 349536847 886566216 978708964 294845489 696019044 920556852 173513050 128987082 973746724 630140521 288548928 835092550 932747262 876153035 299589646 215115673 860847651 943432679 860544735 228010322 879413410 816896973 546724323 343415447 380723734 803001664 769744350 152157400 332872282 614669707 179602067 130464971 686378580 844360841 341612974 670933611 371510387 407380017 965174155 802968031 347599429 299705798 606802065 432736923 347834124 844323425 241434218 577704556 410631775 157848144 685921646 665312667 353051133 837247237 793991460 712533549 614138177 569385519 357916519 439412501 251511721 451510925 983239206 531329270 930892829 312956048 674261971 996935720 974776996 120550530 577303324 735024608 551467034 995684691 295509559 118841891 607306508 717608641 631745733 751720089 395780818 547983979 837113235 736726163 706990474 656749007 796220597 750098689 253228815 631436909 864035548 701473805 598045592 327424853 340056933 297999140 282821071 256677967 313499446 306228625 159252011 548183306 697222985 907264367 600214038 501184186 325352555 179791462 972913675 449965643 270694943 194235462 220778501 455435163 193679447 705098896 994472046 495066009 757471943 985894226 461940743 556664161 374361675 324641675 817826836 410908999 365381371 140460600 269869893 896064493 123494160 467215223 874429172 813309936 375838223 546142251 331074683 808650995 676687705 382021696 885923307 942425428 905894528 184849594 631361289 100995653 785109462 772208804 319714921 391262312 819158764 263533166 457639630 859409417 534536987 852968622 253048075 807635172 641531699 832198352 614568007 822460968 502635274 596534220 501680457 918051957 639547238 551352336 553503147 541798207 170872257 939507247 731703026 216002731 249838652 867418879 140677577 361283311 185385942 209838778 324622491 587246417 977883862 358570983 792894395 499625329 914394964 794263002 361692095 526914159 738026973 524974847 150444820 339079489 170798430 797657848 324074694 118691131 866725816 497807058 726662471 377002744 967238815 602401472 377334536 633704785 325734953 499773184 915032835 413042778 851516159 578705167 191564561 385854784 277106967 424788379 471061845 850881674 829861592 506042208 995591928 424296955 778486885 846607919 956036182 100730694 870005625 978308577 328446137 271045272 752342548 524993512 358121940 345073748 663874768 280331658 883113541 723041873 343856706 129950338 360236012 928798186 540227928 441358266 997608755 398241240 126505743 246806829 764401386 981666230 182906142 725596850 684080306 326575212 524407063 770804871 380302636 654533672 269167097 631696184 550775761 677144140 328634624 243259154 249248404 478217834 148100114 577159237 452983816 329058070 839687071 805201559 235163252 246668968 858467509 179908263 424990350 565905821 858441654 221672364 411906504 152484578 521470393 410998959 255864242 899573446 849470221 839754252 139405362 240865975 502724679 967929521 510833786 880305609 504110612 487867086 274399565 681960640 411896131 716652693 658380738 201962231 268024414 790488458 845891524 330821042 321936607 922920794 964567709 427488777 824812445 574241307 176578078 526631007 930949044 239722734 121848749 885116261 583364559 111074594 602688481 495713222 464125707 472745068 183173395 189679883 804429141 226806279 577190766 813932342 168356783 276422054 673217830 224923130 566738995 315095121 921278852 450145485 472362158 335978484 526740995 990023437 567413578 981403402 149014808 671118455 234829503 254757515 469946512 161132821 584515527 601362742 360262314 900843131 965422932 594727390 803056914 285363646 852865912 276541412 507425756 192974387 782188096 789154494 274844939 487428050 665250172 780233971 272972062 591037645 873540482 515625740 272726180 283287110 484245070 723145407 515577669 689957933 229986788 672845055 129672139 423569058 768079867 195912787 485024714 916378801 361770411 750157791 911460258 290715828 911918616 908620540 846357182 598028420 806317831 566133996 861558976 248656279 562555492 236679814 282254986 310186046 556525131 771444269 721266778 766354978 680468316 617565879 518165855 767727827 757054995 546139510 356814358 241431996 354993727 365898291 937474127 202301032 731503654 759081958 731628581 668886242 574288254 835954912 709214108 142839771 469378666 549252940 546251182 582220843 459391547 309474692 842203558 715431740 359485521 918418468 527203071 395147757 273871530 949529735 490982431 252077338 584569382 816187982 558594317 869723940 865087147 697495821 943932116 607207116 993324609 161049760 678303384 403617372 365325450 526038739 740194200 149610782 767749736 761596674 754513275 296148981 244050282 961943700 595309999 572159761 219014886 508611806 484254211 522750321 525246852 778141805 542818792 966273809 820048410 228672112 113916143 161049151 694427062 743569901 888635987 182879089 832125079 162351379 723486510 581500615 877027960 157382162 685521229 534119116 666613404 120772810 684535656 119365447 337260298 882416347 208588691 370163417 958836095 661138859 687763086 699533310 989599049 554510258 872065459 827760848 153425261 145924399 138060688 590237475 883617650 563211368 671004748 812899935 382422655 993642791 203389059 694488291 424366874 686987749 843869107 330246550 601657956 161954579 412247109 765586959 891998216 862614287 154638003 282740523 742327828 230694665 744789317 727728470 327217512 810291879 949068600 306448921 591015231 631024647 605313760 253507911 824613353 282384670 163605841 412151135 629369984 546767077 209708328 955422619 936267948 449799645 142550738 882785021 103396560 756592234 940321869 894991348 600386502 343662107 573127933 278924124 303116096 592537156 170980020 113878206 897424831 885870307 957030603 803738056 974133101 454557334 181085934 552758519 453456528 566793826 157454324 209308774 505010631 869887065 455866168 914919625 848746155 283163889 887116335 642872230 434547811 906839537 233166168 371455289 941930568 359972328 261201121 442244995 660747433 593163871 718515450 842815531 292157298 146819373 284082616 468922730 504098179 487947762 420480316 998659622 552030339 369332957 741634964 333897990 247025832 973384150 864078932 998231508 749390078 250338038 262777868 347700416 851584503 864991405 601226333 344803182 830750315 841441722 611698313 700061352 953658089 257426074 368673284 622326375 445637335 641174530 167737927 910411684 585388483 430799151 617888155 197221906 410904918 637078142 276519480 307751422 458558842 207515125 284300607 502349116 353020654 246300546 135160197 417431860 850178738 969796079 746766977 448755432 135899175 767850612 438438928 741872453 188496804 183773614 793523325 121451694 148926237 504628209 111679156 552843371 319524304 633698804 189632756 275398152 195135067 621884967 881175863 933166735 196808527 864004535 785122923 378984414 445449331 473588333 236178501 252383464 555090224 304253079 925770064 638986023 561923270 932277428 878391835 844064491 281258058 510658478 686475269 702806171 891416859 925965310 460479943 136239504 702102285 139450769 944521657 504082845 333794493 609135234 318552391 243753994 821585749 829740508 675472983 580896982 723458963 676822508 353620924 116745490 250540684 674187902 474685345 733710156 421131537 997776198 164251151 889327268 283818979 367211503 978230133 827929547 852079552 251055999 757479539 475121357 751281209 381921022 217266513 693867051 709035689 294585453 207324264 140964056 579699967 868962515 454425986 698756374 802884106 161562131 789484783 349339741 508784435 243164614 433170810 748987303 155242294 166272699 547563582 922422058 285814502 295831457 834377254 284500560 278184668 163838218 837357137 750252911 167486772 422963653 234728809 877327473 178198103 460785610 124553429 959684666 832935896 938175438 285984468 441971349 620231612 994704044 452214228 517114615 443368150 557180658 206520979 238959441 281664102 753471433 167374574 589801178 880332883 516856807 303919652 808410421 806816801 848424798 685907822 623942683 168554095 108626693 317242124 932699387 756632760 324080804 321742190 109075317 304833465 412151794 908978744 134464837 650853771 702003225 894179397 555750133 946663784 186989840 839183336 663351217 944235503 869718543 205552755 291823045 930212491 341815616 556406472 845479477 611777019 905763813 195387087 909001016 281208146 602624986 555272663 928182214 240636150 642428829 656586230 776845644 746271122 421354335 851381588 553240647 682650841 463090527 679853588 397163732 343854574 560484867 624858679 151669161 820724121 425930771 174840693 737918763 449561683 159430706 419567196 959535626 969288422 494412306 285227674 911483637 364938271 750655204 676615632 798317234 276279793 471740996 849738778 432959945 807858225 479041332 289432701 671453657 801670257 786484510 877172311 880645272 864593860 540698189 750924369 483521783 907315458 158649696 666392110 776298655 342137541 317470741 930062314 421295379 990149651 887108919 986377786 835703633 853877765 942163618 501023565 812353632 336600856 618966660 867716438 651291902 299659910 532684232 909248621 526069713 287142556 261592981 876863276 833543914 436526515 553977548 240731783 461781147 112116939 961583114 482013952 983621589 750768128 578110250 542401185 672627796 385091039 626717789 199624563 612702611 977601916 615371674 104271363 645144609 192809397 787642389 930439347 904089412 974857467 736816219 533750075 127186762 962201027 765123653 632652631 762522217 912756459 503942021 429051546 487421358 738920474 886975633 901485037 436587189 221244172 197879345 720780101 954217315 532605977 110619755 297408120 357867954 692914730 160929447 852204888 450995031 468970473 540692507 667770894 766153488 973172515 885422098 818020965 902809392 115283724 885544449 221682347 508730065 928936569 483833208 386895163 291592744 777951976 675570671 699672566 861271435 963009303 551248107 169755007 352728708 173300759 434312654 192936665 491339413 580586498 313699828 357495093 818633692 303872193 889693259 743735395 206925417 932068609 895678002 519251903 124093813 741513952 256658552 650590557 451501860 162135002 671066670 424501485 544209408 715623205 296064017 543697625 483762318 387062457 586515824 934144121 245568896 375824586 509551569 611078042 505719209 475239156 209915039 866014569 181115643 778642924 656947108 866560881 640508418 174743560 127521339 157219626 289281016 694747413 323152114 333027921 434337781 243733799 987255181 425021201 314318295 164439887 816053726 862379635 966774988 190331768 869553644 444072551 394172004 466143601 907500247 453545224 536778284 915586919 748415169 919350606 918466522 694066871 193840095 308967122 525065704 703478400 101893231 537688986 109783135 663455415 586512910 111939156 409787854 367142388 225334103 498755607 570899528 253725783 256663870 907347160 341636481 643554654 809470128 293164694 882902740 889918084 434231990 253863996 101795877 180457417 868661754 647040177 209847398 717605887 238986494 200832108 495366323 586903462 762947808 946264579 286706217 301815472 668299849 909637669 839067118 953400959 378939496 895884538 966919116 981662501 406510623 460465841 430152139 984137733 875189509 361933487 803101758 439498294 266193342 928286047 238445504 824759931 192571713 770170399 201696380 791360197 850581224 336660133 749839619 460658257 161415085 444251509 901243068 929654981 770056699 429130520 746179383 818183409 211419176 921070206 191658925 477297201 675123445 918632852 869279440 168458552 483986927 712972291 577617147 208137604 125256086 983461423 714839637 291446042 858439115 669176197 328073191 201499229 356757281 316297163 454027883 735614106 630007036 290801922 733081696 406181172 382225372 297957797 588915530 864565114 449532970 332765891 508649303 186331484 668228895 408892559 527512809 954211191 634689339 882147042 911100735 271621911 641345321 494416525 196333744 513351983 557287502 336664792 366080324 245988108 601134926 195836582 201274711 228004034 877572112 777180695 325562568 342268402 227060158 661031547 994747806 821309514 447458503 383332728 943676889 292418529 578302136 397291457 724973638 329445808 376384689 451379104 220398004 932866240 873234733 461926907 708275749 734121634 368693020 280891218 566622445 405919844 511830044 701170158 244472554 953273520 579671496 636845702 761447696 640161703 709803542 678355047 703111759 575969618 421900816 810561166 220339551 142487406 577326552 720294515 459034790 201526343 938590967 821607949 156549505 116641424 544387113 707871588 373340043 517736604 465039135 349866457 447811024 764017803 584510483 978544383 303669466 101576814 799476567 332041450 463755738 711523010 185561413 791872468 628841764 654261986 499098664 757307517 129125936 248258798 331782569 993989510 765121175 795148087 837195187 275813363 305289298 861465956 997121858 883005001 581687336 961751503 623279281 561997348 849784215 820536041 272360980 799947390 863690761 763026511 875213800 357743566 706033821 566358735 364835107 692543001 638202025 444205873 185988820 158708947 278417919 799602528 287620042 172667769 855531025 499831153 287900296 743536729 714527962 399683418 486192958 637175189 412751659 391276996 922956314 464320619 795537547 617620209 833561133 969473976 716248488 560927341 363570743 419666908 688378500 423755094 992740229 196152877 600255822 465880699 658998575 159541834 374461297 773364177 398067012 109934982 943428118 491200235 770699941 341771543 287063807 572517028 469011196 670433916 787547563 509444890 337484915 277415195 803104454 772207376 884719323 739980496 112994947 518534593 380222533 823838169 486067882 425941794 209172245 558438380 995093627 166848833 190319921 993649528 316936391 717252604 592301410 362281545 857979409 259073476 174347338 172435468 631328082 830726807 259686691 518380416 638605512 540615209 429416543 446325331 289026322 149987782 856514734 208558744 658784977 979046522 306806346 491933287 700768454 467256829 918408798 721051018 799705072 882197045 886724371 995442271 851010675 223088192 142795249 199417394 691232605 854731496 915086776 939998672 707222406 183790004 358786534 835091773 293999862 351748094 180880429 257554860 218516494 867382178 479705220 637120485 810472732 892942491 565573802 903455325 104960215 237303360 253482269 185969973 860152380 416440557 260305789 505413730 107100688 692039440 946806262 785710669 584958901 787607447 990084839 106693349 256661081 201284511 603070862 635827319 115087152 911534734 855099472 114427632 193804756 703010729 812474431 648597575 655802084 466691736 962796948 671913286 683006027 933613826 284940699 606035426 354556983 604290731 341782270 637350107 517246814 436111233 716929413 202965639 305448617 205506813 345286431 383077165 853715007 738108297 275945378 851619494 943403757 597397363 728832080 753256045 208984651 798567292 654357732 297127344 393275128 126784695 767250804 651044792 939145235 837757586 237925127 879940723 881950469 729035262 893124662 811387895 255700915 777983649 337452426 597358646 786162622 560652322 708742608 723477012 604132010 746654470 231584992 790252348 150370955 358549845 444925718 644313912 197647408 136539258 648353736 638362940 603632181 535114170 644002822 283830505 624290609 281884933 124990979 908639805 243912135 397256296 510344122 923600677 557956140 976838060 647496901 751440050 271882826 218620092 368227235 252607138 462906825 542741278 514249200 282266879 843482030 519821689 497463525 612688299 498520904 115092556 143320575 543373699 295217566 392542093 404555916 129197046 683834748 154304756 734092232 881000202 760861672 357560035 162109921 993329284 104772201 373562365 354357658 270605604 761812499 975537361 262579645 547117338 877615902 315508978 328625319 649349934 213729136 682746734 302968788 567869265 357082977 334753849 628284533 588360087 184798795 978718001 417752566 693655093 179486369 569858701 535413524 927932259 466516651 512147821 471580438 756829066 651298033 991440986 744561915 953895849 378064575 560783366 233808351 566041232 714151446 428928199 874968230 312356059 240964675 652272527 363419877 138973581 203544002 936065726 540158128 471308594 618871874 892498775 366951406 912259028 750273480 878253348 951601174 158818112 141284180 865392600 674048725 552206698 398277137 243277129 442951897 265019952 901451078 343772254 371936765 286601184 417432542 417801240 279531336 329428096 970044521 925782729 570028656 429946909 919159187 338596836 584475149 498952155 908360380 923066437 132591810 154255772 376542693 668560271 269555936 594684361 309373424 391218693 522833985 652602889 459952009 739493172 971039251 975237052 810501401 902528067 241871313 865301728 936036131 948183042 433214494 831560263 360757533 938457433 843746900 947753965 881359863 946399979 954376714 875883812 677838832 276075491 991633005 935066412 539859335 709645825 669199795 447270391 900105317 335558152 184811122 554205669 506553130 183286153 920360049 910319615 856410336 324232383 283679007 215198708 430580192 909076006 615759707 335904599 128290938 328235091 847630223 376608457 269124896 312257837 138903197 595823619 859144374 677344653 372200588 499049670 213749699 801267632 439575197 893288441 296976183 376320148 940543277 717973990 739613788 291071765 755496841 809358627 450105254 453319069 850346699 638697821 430452336 836097482 958082694 998011569 445110941 797096690 999004974 556562409 430997333 717905469 847461898 258273528 311130115 927997883 268949496 647784228 410027545 336536564 296720695 818612368 736574102 603438291 589948852 503394284 680202340 958169823 514121734 942633773 729030072 205917492 499096305 552872647 867106618 339928073 713342355 478639566 610898123 667065319 348881396 654183281 206002826 453823058 386298693 100395362 836539013 380714380 364338295 588706302 930754591 101860419 204076666 720455775 415380005 647818042 969012074 885389924 783296139 685106695 652657791 797959851 433420778 532319161 866373875 847875619 862889739 645902977 760781196 993617840 693963497 584927993 711596337 721461342 764125050 948682422 571320898 386223969 766877644 570809147 720353129 100244931 419250315 819302497 106185309 389544254 772383355 771000564 995783748 219476588 587331528 587868918 454486171 683808224 255990429 672131496 865400072 196332218 501567679 745345639 809646073 276825841 612773846 184847324 418613967 661005207 119813740 573477585 692602143 801315378 610312062 138226245 481230564 373426013 298855680 487136344 561539460 412266076 175779843 252745393 523146505 329201703 865430739 681566269 759306843 155565509 679046073 819399505 203322282 223019910 661720041 633956533 640734749 283936051 987460626 783744160 978813634 630692470 543466414 442775886 701215962 621003396 101240558 541143551 691448155 892931431 670063047 220724439 783692991 688899127 819105801 193414732 725902955 495737119 736070623 206132910 920192915 116000001 139720751 880137232 544361857 917715657 733009947 677518717 894392788 759600312 938444281 396237190 708230106 446095051 769077972 860689612 839614783 823698704 716413870 495441823 106279136 402763564 958619073 332985199 115097523 148958361 230821249 840714726 595426616 889509864 733813649 961242767 791065658 863552554 746133880 874679241 105211361 301421536 382152327 334362752 724403725 836985659 448357968 242468685 115953863 251380774 701039110 942607334 489304903 942423304 447770122 539085439 346968168 481445994 131206071 679478651 458973135 149264467 310778042 346336484 526301176 351630762 638528071 914534856 499295859 332338439 978677928 887003388 410017768 204709531 374565921 120346029 328347966 641015355 979278182 655633719 770302862 624116395 556388147 872854983 500122421 393656634 150752143 947530982 834870193 929819689 731954974 437393538 107401804 132307516 219600018 806692416 305212483 453820080 923987247 436878068 295572196 638160044 157331606 724864403 551753297 919575252 226822830 306880380 564540493 983598240 282741992 844062625 711410886 791812955 904460710 460131622 905711106 471132538 334518729 885764370 494020891 547723610 691514583 311851221 130558762 470435724 432626956 683879402 588248624 418994748 859648068 592045059 299338194 913825416 511547750 557526722 151782426 565815945 333682636 881981759 767740531 647465158 386332532 382925865 662066955 202702408 485879373 863771709 838803266 569203777 688229758 739156970 179793940 512551212 498067260 576111015 273783959 890891499 919201878 163791445 728950512 231216320 256495754 259157085 600611712 689663683 863490345 782033847 583249259 136648958 918263750 529369573 387045803 424137161 616893004 680523474 654576080 884922335 808488361 974793300 568829308 143688233 546443311 418207496 580268917 899368690 510704659 821311736 860010184 838229679 493538510 522925602 163399193 712840552 409909693 376237798 813585949 286204253 656036725 910586653 746568381 727483102 338120976 843019437 225940028 222099752 378948103 948656529 310199855 861007545 270550171 960290301 669526546 684933765 205263315 386743098 132544940 477601458 580743069 367583853 445370305 201631776 477707918 692630415 263402551 896858710 617590164 790952976 242394252 952052881 842571842 222118890 663719040 173051079 496258260 904261648 889149520 850514355 117076630 340299730 930815686 858327100 435346883 132935357 292980274 491008018 871158640 241425660 988430723 222289549 246547697 413818463 824280412 174669187 123412772 967797527 511544621 144757714 143757568 854186625 149781817 484865754 574756218 674811603 576244526 672672674 663130103 837044494 985084041 772758997 117218266 702497069 410454991 211132820 344338794 733355580 696145182 822910643 646842418 305073327 988118860 565829111 270395038 248752018 360709240 640354911 968838205 540841801 133415736 464604724 876237768 137031654 766739830 627384503 784909822 293723315 120518582 888982243 983347831 900956596 917261549 426571303 456226252 706247179 663017123 846558992 577017003 500361664 212131911 878965661 772680762 828675320 766586445 988648069 475837016 336413147 373058418 311502165 743703939 229420709 611066781 778131294 864295202 378622705 457668994 442667017 262512052 382955049 679624681 567432957 207020193 815468228 507328775 519851693 639228848 700224728 652835334 904146684 308253362 783968764 962832906 940694498 750977018 786193362 396624215 433717825 881908321 445813692 918934951 938661453 199372204 644163510 467145813 983386102 235384501 938427844 449318782 365132849 506039958 836487836 974546281 918346780 345683660 580494887 890692955 758117279 866657822 199955208 169685921 457898139 520857829 450128342 764334860 123247363 160692407 453413805 532843806 154689054 288162625 336368101 140872870 619080367 610069724 932968659 545024719 386939555 570213422 178960954 629001218 612647012 626909952 420178907 573783589 323177312 887342328 701741683 571739510 523305576 482024728 994241100 342632057 109811828 588917685 947628937 672019011 228587187 407243231 682546161 990007920 562501010 161584686 811268108 989466030 737591430 684344688 254214591 215821183 232787449 445483720 206805455 865366075 194926024 613759142 399975526 683341262 195325874 286900944 945015970 140797172 561692964 935496081 796353183 683257288 601045698 175606162 703865659 385247359 290062567 389549448 674463122 469938606 249833681 275129622 556737390 505189059 444549919 629480384 951325449 814334033 732277382 691478280 396037253 122815846 385287983 350758932 769654455 150586213 573584410 809122883 870910918 611879855 946774548 715368945 581478679 467411751 883420023 642887769 358889683 644414059 464849793 367684522 741332321 661180819 606417777 667847458 725674564 208534772 707612845 768012325 907707749 608458564 683296401 605331968 735483727 854462379 156223004 507409296 266692165 297251515 749579345 214003020 851888332 576504753 521439345 469006754 107644250 601231535 799181852 605135599 690925110 867407292 689317451 892317350 766413249 908971515 324835948 392384751 570295745 934163056 297364514 812556689 991846101 782793947 334700137 769936483 764490291 752973361 398815355 467743526 820484553 821714809 769800008 907889768 802278921 481346489 345402626 433965509 783055623 236633957 740064759 319055222 697336847 436944628 357473388 624313222 900438083 621415815 569712671 752223785 247487765 366027881 347681027 779672420 316169517 756905742 266341856 412854992 335726398 883763193 270657503 153073269 176381201 968056888 238605176 499387932 328315878 463825736 549347874 456175070 151719559 658293487 546457881 919127388 272951733 197499472 281810916 400984099 552807402 540281825 359078157 402265798 975888044 100197922 382820067 530940613 544917310 308468736 697692899 537293244 383902870 701813071 172732388 353094640 597408154 166323595 867125270 279950767 948895463 553025543 724998478 450158545 410007507 171595793 404072326 714089143 148664412 919429106 889608420 817706093 706522468 771237284 846755001 903169159 852827747 663306048 386648253 457356593 405333351 443857402 306653506 208932267 189304134 874347552 601911291 623120312 777411048 325268045 139460543 568514860 467642773 155679111 785494959 176503022 307824595 280651316 823705604 353775357 811644144 909043026 969403663 949601600 900518082 765436027 750640491 416074153 319198889 243172835 907321910 634781190 273023443 310397592 626106992 793035261 258571825 241469114 594885332 732561947 152870726 879923421 989124510 626594904 928551890 209414052 763952692 236204851 886407171 743398039 688307176 274823850 725766063 990960474 271500385 189719136 463999458 788913238 921098197 768209142 942648427 984847038 727240650 495512885 395969514 452684591 663556289 226631055 851384039 571408653 854773563 209834347 256003270 197541964 497017767 603744314 805150622 645056522 601757193 638801189 178011905 937548791 951349204 426052693 826627016 213872295 327000877 179300989 930872704 120095768 676650666 616216536 627811798 809961124 611919451 209728359 536870805 987981836 168208104 947833781 496539954 110268909 646484621 669980824 910651764 688736259 984117254 584747614 525118677 445357080 774663067 892885132 491762224 906354837 745531784 455629566 256626055 216697273 499088546 933896783 403174871 303273536 778506797 986523348 612326951 699530349 477664057 800070820 761857043 574128911 201762282 911419344 879857322 346990975 691648670 393226909 735364005 944440190 912958252 426595021 129184097 676649681 638449938 358313413 779211520 396734608 145475840 810459790 622849957 622277722 409371395 627511026 157018410 268995193 460118754 425569894 492892243 194801479 247753948 394795656 816578688 772973493 981058646 146861450 434267813 529770120 640672242 960769787 352902503 722989751 715624658 769243317 226009731 521588260 446059050 778984054 669036767 922790446 652367887 612564029 115476195 474065802 288815194 128055865 507922584 847627257 562550736 452900789 856581489 787739594 595680433 783446166 995892340 570984115 636522746 162640108 938228820 678694363 741304074 165905947 872365632 527794573 879307145 868660786 612307912 326729578 201834718 154448661 976793048 408243806 619145766 348750309 330357439 532573632 278097686 182224863 397353318 850968010 946936921 921109667 405000499 153275620 462647339 640906021 812640087 837621968 677221737 119026375 255796486 270340024 511515677 669924010 859915850 828544621 909172987 663496269 451787399 202695875 125157857 810197228 503929313 240989654 549415808 733750331 725031174 714337792 825460151 959908101 386449001 541992151 441539660 938706484 896393785 360372868 689917967 680796803 976197767 149461850 647031933 198264966 918359996 360547776 614202951 796232899 629863209 614821240 377115868 910402294 149147952 102779688 995348258 531386454 778564890 817155685 494720514 391826910 310282220 431108280 111875759 618863066 237777533 141700296 729348662 893209269 696965485 396487332 523495844 865158575 393828252 702443869 945126535 327758145 804250041 646886511 335548351 735478682 999469723 233227713 304407146 261872613 120441762 403701903 809162335 586206144 397942884 192103905 653106315 878822907 205049290 341057140 946523456 697600107 891308976 230262440 648642247 465148561 530773298 999590791 362395526 213279271 757016945 121245656 975109628 179718357 542981621 951893952 742623525 426852819 119568309 844830457 603035268 735413888 102369036 120271259 213629132 668470389 667582669 653959882 807101813 930396433 222505902 750460261 825328530 381255883 552784701 767386196 791477672 666229856 965075813 365155299 810995422 449735587 348207158 406413635 859368134 285012930 575834751 520043251 673817748 717842560 473181641 958459416 166942548 597142164 618809282 623372217 235630023 950077148 335668727 791336462 641213820 365840302 255988915 456043140 317950484 408751216 908372321 304728224 887153408 202938899 566084871 489444257 393182690 274862048 166671054 152697589 472281961 650292522 603911736 231628743 251074125 765742082 281703778 452094588 594713652 222369040 200531712 415465855 305871844 522873200 296525279 783441043 389244781 487569547 138713345 185721801 258798048 760796226 110379807 752382587 269300657 379125765 619990757 331551934 413668421 934125297 177507550 486842740 375909346 719884715 292909190 269087401 815584974 423768997 701994490 590619397 201768931 851002748 983125340 200107381 942723326 978555462 214490820 982969485 532860537 825551938 965755585 978178372 369318059 698070159 648095946 152931860 957444274 514565688 943348120 659726389 776339519 862980729 463502515 673481220 458202277 466179523 964191502 719993444 339778108 873121139 349183539 757721519 714758018 441100752 679037314 102436642 204805093 230055698 449147601 360846941 444124950 686019518 879757482 564689384 552141834 354985471 979247728 687847752 919410961 266149445 187800474 704169301 702934525 912853757 950066207 813865032 372200025 196467976 749961992 808976560 185044422 901782167 789558026 406220199 148828971 588216147 227454128 516187107 851241944 284829744 893944890 300012913 732216048 266905429 378537676 382827259 887384775 167452835 363234154 410454831 865710139 946516248 558253355 447173373 622778639 416154717 920661947 349379843 217682207 477076681 269964491 723502374 113275285 770704252 221857809 604239477 705574678 176295237 279536719 120723062 148132738 127837281 194018057 862194273 141392510 438653060 825232983 193966457 390361227 946863787 151873070 709691785 597570246 256035774 688128798 982434772 508459034 980861319 965005741 325775220 152821093 380916964 981272394 961337686 105154174 883274496 358141217 308044020 429722274 896951867 359093323 500130539 593124829 187143320 450309116 596062209 883714753 879434306 438057084 489951398 862894481 552423878 353280112 277577875 132341578 814637830 233478010 720360709 294653055 739609701 544894100 719186934 744014401 306514674 449131788 794314420 667387595 999169678 716348442 117174703 572953654 930256482 971498229 242401861 107512062 443962882 144796197 429994525 964552632 979642359 309781102 561001761 483228722 203917094 163702936 515236720 302308578 468980238 824651710 681884614 388191102 214108065 316791230 765066177 269473032 147314170 447149669 319625008 602526360 739500525 142631468 758452926 163037987 231813358 196938556 784892677 743432880 463060951 529067070 371270231 185836521 680940119 273431812 812894717 874438024 235388080 707339691 697608232 227387895 358781224 678587399 687849868 194672059 785883090 223269282 216022142 686430188 443282062 814618331 232548699 777836203 536721149 922092097 745045828 418428212 831402309 545829957 939495768 346875143 109731227 570505177 914002023 479352240 394326586 477204066 306530706 515949026 926934310 608130137 254336284 176710867 884451875 903561308 402048988 483958022 870409581 176436940 837002177 644445121 149762308 665189595 222315077 883152278 617264796 574046957 851131429 631289119 270455049 460549414 631485992 377217841 433277682 989710343 727816567 495997062 282622917 256771108 617378190 833704776 133574177 881480601 844895473 768862811 512963951 207268686 526465800 707450551 652179034 383882403 732112382 374743937 576359512 228652201 287092894 512093375 392163846 808885635 493849196 453853812 411865395 366643960 347956273 141242219 107676950 492312919 995257003 896058466 564166924 536885072 955257995 331092016 712410729 336700242 184845219 115612855 271471622 863969105 629942735 291503454 928605596 110768575 934038823 944511254 351487545 424027666 139093289 170692414 568401916 881771975 737058367 367878197 349647061 231125833 805378893 578170761 770868578 229656676 917562201 959426698 105015145 979726307 236984831 563558000 282843689 162113900 824464711 451623252 386452018 723669811 512777846 490376900 547427691 160409614 515321114 116860466 294203610 880391110 917280417 751299750 942942547 756213788 568982039 608980921 888098710 662151544 325483217 158377295 513466310 889148718 948139620 932435882 913298165 451202851 253446871 393598263 253383799 220941134 281941077 207272398 134365632 479719915 626152421 127322257 862203923 823645675 669609573 854349434 752390766 493666438 637841108 258589984 918010954 319681191 146676060 415518130 152564815 343256561 280784799 150573339 780064860 409199104 857257174 701268228 840385033 769272333 429427322 570755545 633017655 610042963 954201431 132505710 269152075 241939075 649448442 524650854 235311460 273315025 200906604 800184647 688963882 567228598 202965861 804045000 326942979 236384665 698110429 161508927 280290154 865608310 911173665 519415136 605623257 994008080 868270607 596532619 454658857 795055585 425563576 252957985 221590520 471625265 371434434 207265287 245349246 161150860 916709751 485906220 328598849 655093026 255599836 763606926 757658806 326059411 354073015 864911542 457531412 412494244 844129655 871761072 549410142 185126209 493027563 332602266 382268889 700587627 694774131 267871380 366741701 248684097 416442881 670594205 454121940 793172407 867211781 304122564 542135767 142268329 155177746 370124150 342860537 494030504 527527868 562313820 120160806 104268223 242606260 727908272 305416168 747338184 919561942 528807162 168979590 873286119 747314232 363866795 572096702 984947516 740773113 409395933 593930990 590598127 982424016 583429858 166751243 896265292 434911124 409975945 283318807 925811215 681107399 513163554 488009454 974501597 200904543 781856036 295627131 224323545 157646381 661702087 831556504 414922834 384288400 598921489 659914164 255312095 271098003 132268988 721168975 896050920 849102690 137846376 501725096 312258037 116826141 944055968 786796425 747683471 183941987 731223317 300535118 826559307 651544346 660879125 740681522 287829518 491062555 442497149 934000969 896639981 121146077 438582974 781118465 439568620 565308787 503378353 336156268 835368401 109210547 831552562 594823038 804624145 106982566 952529865 621762807 432989428 891384381 785727972 320033039 967250960 275588961 809323913 492774303 920074913 540314843 279937879 254365122 739775629 866421155 249270848 459675573 672820592 577558222 572814438 768865167 369642686 115482782 423135530 500265741 116898624 610948453 810150957 560748564 355226561 110359481 121544758 461528639 731305545 199870189 676474868 886119523 549452658 624980894 650031297 723705732 390318593 648715465 955036629 553060306 393481896 810563152 542639451 755322535 142866143 728606126 427936465 990257018 526828779 949360466 676327859 276160014 320506785 680033750 284618738 688517943 313234944 205516687 934829559 731254658 798037422 423995819 964398400 445312035 854181194 375715853 543539048 591616638 849122392 380399990 508958213 895664982 475058602 511251858 958167675 567150969 455943029 676791692 841220381 911148464 319871650 177962603 280688178 366022527 486820639 368918129 315331397 336970046 661581041 649109944 885282291 562111820 406715396 504853268 234437228 561153659 797708196 776217879 927839640 117876175 482979845 822975916 988897834 220786935 102154916 208513021 113235841 343790810 397012780 427968568 463069423 836625706 562725468 457331566 621324906 355779002 348629521 463623029 946005510 692899203 452319724 449050767 940837210 635068016 243913403 854562009 122644140 349598277 950464695 588864678 925969099 461064820 288066228 355365789 920367836 666561882 828705203 649248536 186916541 274125932 479681940 643812665 462545325 627391508 895708619 668678061 713968697 545739244 785698753 644716254 288638225 794116823 293273717 588487734 382944825 787434602 962154674 806474036 570672028 309879498 628738632 411710812 187234197 918158877 177869964 652388563 844954193 141077915 304144738 625180902 396173524 314111177 938755422 736984909 341156456 100478045 134297254 666582639 942481709 787095400 803519580 639954956 180026920 453768473 304661882 264312046 232905342 152992418 459856880 924820746 915990616 835373713 285521194 840320162 305052517 235628018 574398393 997126205 394801023 420438707 125843751 632472210 691662220 433567828 335806817 382514363 893816252 637467663 951498333 552907166 675984159 738453529 800090364 896153395 529578363 246542527 129427590 500347186 344605414 232483641 278052317 233961426 308388966 673839549 671182345 943745844 542355278 971461190 841421609 960269446 961012216 871139063 269329449 397324992 207939356 911978659 517328532 975830669 966822674 177795322 692517266 479253061 965276198 706261508 665623074 586082650 830461921 119889966 473943162 859865213 371562137 714333191 626076321 825375110 536246897 256133569 611497216 696892661 745874586 662826501 762858303 911758161 325873418 782254017 849582917 668928806 621656837 436436215 712891695 295200477 969969450 251406675 897464684 150342783 276265146 652493415 872209832 582616576 600429806 369718717 997758509 303344561 406955045 730069895 567773135 933029163 899223000 738597092 889278213 959251530 299885794 353217574 897352993 713645854 911849076 428901780 488867782 851241489 997941214 434667684 657618436 976105208 686853470 910842283 555559531 570292547 371638643 464170618 873501973 456391819 444499922 725624183 238481209 657970152 826986454 901735967 716261844 239168583 759761662 139182265 166969542 178168749 996303434 774485324 304333918 413188587 231657053 170306942 207120309 416094012 847761828 143889986 820986950 595764539 532729298 294917661 878611802 320381378 775690695 274941726 127704191 209620041 583809330 815791932 400699432 131576710 933291136 503543432 234037809 780706573 608747531 247641796 695443716 956312453 960084050 331721787 878432017 936058875 269462776 990378070 364165625 170649584 216195979 879889324 370014326 328109562 494286589 566943278 926132450 852619058 601738094 143942863 819385287 458999215 731439002 261467923 919643782 614345983 395094114 835272878 107158878 892620473 437592259 800813629 150491641 146455845 736421117 163958512 802281746 517418086 250258966 755536666 985785662 584027242 776228584 438073387 854247142 583361299 511088751 992022828 614493982 465236978 292132322 393301472 766548457 183897740 160802721 370954380 876476319 353968284 519161558 490863948 879572204 855052897 651561031 353275227 162952521 199162225 373131684 860449192 520098660 999059977 395170004 617211805 569880700 436586343 472826031 348555838 367741730 676200615 870083415 416360619 191264384 448484545 277451618 299717029 997075610 277068635 385778311 846523113 549132474 706186898 823357392 154699443 889594313 509166444 112766119 852179374 167647050 406792245 872550271 983384583 765666098 994509506 279940523 180560231 632318747 798501262 658998362 634569162 801957156 729668890 682734622 638701415 705209114 819508958 160327355 358752407 847733088 323101962 935232310 776033710 252047379 252598980 105391629 398113875 496927030 448436145 985313687 555303166 420687370 859352987 515002908 891962361 790546316 382336208 842944540 576792173 409965731 572810616 715435815 863342170 496467520 848720039 553544029 572261509 298100835 622408337 816521796 804332657 953336424 125455376 673108097 900688263 740500846 205456692 918754668 877202092 411350324 695345565 946853905 916675465 714284381 228362623 154138680 759243605 409542984 610034783 480903864 290327726 610841351 700734894 913313939 775796493 564690534 383133280 868074236 420375543 360726352 903722580 387195870 764074011 198460832 325617116 581114624 193929110 798769422 389413415 705787768 745628520 515908075 527181983 948897936 448817205 815391086 519246188 216720120 546998635 189753720 276824159 806498079 163696599 280296295 651644080 475815829 529636867 545425548 514162432 210694006 188826730 373543533 454848500 557201074 707875855 790404777 473951028 169852194 633777379 633203393 885483483 954212747 682282641 557994275 272935388 719028873 977346870 420843629 852545203 408845896 738487346 771595276 169725185 697586016 824345100 950763823 695801348 818051888 214398389 428931531 346165029 435125792 579346320 487125549 363847038 822533102 516867964 222068942 188771823 408042753 317031748 234112236 247291127 126372310 280449212 784882409 963431476 467715658 519521481 480080792 368541891 487823146 391971649 792358795 297512506 814482008 456585109 459942953 199013989 557007785 112666780 528246528 542852480 304699472 361233252 436828534 689956010 238732262 335411153 792215035 805479884 858846643 964557763 878834973 319040946 900212725 663397478 304266002 126329282 382459453 602410554 278203092 682955871 234641097 418440788 136328185 354333480 863549256 312477218 840784289 408895845 473219073 407814752 556041624 884039617 421812479 928798941 259290507 759688125 217053470 791618794 265689727 277100743 305961545 227699370 350609435 987067865 955131131 764688532 708520026 474659126 162426128 974387860 300954798 988813846 233253804 280867053 328865362 838911335 236131439 286911053 845531632 962715003 988522049 495244576 969574299 805026204 734434477 920282158 339296139 217283253 358494765 664106186 511813440 837414947 382628336 491290040 427370228 644681369 129258895 674409671 289875003 801371346 320003023 615894987 190618633 829998938 126753076 811887985 941162182 771245681 941977268 912187723 991893333 108957243 176952383 499740975 448744941 984268978 671049088 113277292 543651990 313019222 816317740 755216850 963124395 108808444 565532926 754075034 193584424 822005248 696346582 463573578 283706185 380317338 674344042 276168704 347850770 951967572 141596192 268072491 743238283 306056729 835728989 190460792 232450344 307386519 394823924 867785422 440601325 951086999 846332850 399081089 839811245 771516726 568758327 342646337 331258867 188287795 694096094 799148589 314677639 668674469 648659735 595949440 369335768 616606991 609111938 201857169 261963101 667888416 886041356 848329285 994420630 959523793 205778794 691073253 475215128 674247413 650916763 493771882 172319303 181775093 412397623 337787182 917727317 332378057 902503796 174378746 417224893 280566163 577195266 680611456 232668532 551100982 896372365 127226529 955961419 608431116 888531923 384915772 214337622 106704234 734463132 102152378 735777293 261089808 630227346 477140053 685613655 527315220 347447180 936381595 337171508 715894722 149720821 964453098 271625596 970819956 608288890 354436430 440900747 872389087 258197616 594357480 826976658 472777239 977904472 487375303 205967008 838129444 612379436 198256902 273452307 867204569 654459634 365405853 606209426 292642944 368018376 628874343 317935446 493491770 859118575 237487914 968349450 321742276 224623087 111997687 216098119 194497863 331422049 143198622 855138797 824156250 360840450 790720409 834117441 927350687 240387258 801942667 696790665 185165862 731307523 399454482 296294643 566536476 669457736 808104785 990793230 136812936 285903519 235667278 677680648 393390937 466780501 884551702 259058106 192060225 342215046 950318908 881394049 904849334 371588539 242424910 681876080 535007557 270465500 481315161 990657384 474359143 110465207 237560097 706628863 464491653 290943459 742710092 916076607 518615030 210257564 400845151 844460167 256818631 427068387 363605568 574442959 734562572 819380631 261723271 796802587 683238797 683672088 280896346 471355396 647798177 287732888 250207420 803352813 707657342 663321282 945449368 300581106 848867644 570831658 783703470 180234114 510050703 586751567 309345062 722314803 398181079 440407903 658278293 487733656 249492261 835342895 498704104 994671522 797280572 624230763 989451918 247804868 843501569 892930179 122029113 448714158 813081358 281938166 727764822 530796901 333583845 447463658 198282357 986033780 642685416 305517940 722261663 702552792 842989591 144982814 649613446 488457710 318862347 279832621 874995163 964535170 927782006 330062596 545068644 433974121 886679417 527188264 502231309 216104604 340140377 744982623 801537008 607300432 958587034 130198200 402443401 441385711 327317773 184647805 461082524 551933647 534482962 508149725 580580022 121883465 678846449 132171197 110439604 193851508 126224886 124823971 499546437 567291460 636923294 270989571 567302716 369152844 502241552 386998230 916925370 674517421 763263597 301553899 973719187 493771068 674380430 392008782 218686708 642624119 370921212 830125715 216665871 782457726 977244304 210236680 834778034 827444371 611585407 601957444 202843608 233514683 976283063 176674292 694764079 992085636 705265213 921905788 380982574 372277806 201578738 377606609 124508726 616702167 838282319 828620442 921394516 809709272 784256021 373614326 163068827 182241370 205636829 212275629 126150313 516545478 449340621 258783668 706984101 363569393 340190053 736782500 275798926 447092781 599834667 475242910 732361178 729261653 388637205 435315423 461315033 172684816 440449414 417135924 466080328 897458398 314964776 681554492 825565007 793396353 115522348 760484427 764864875 138082074 461994903 651066161 941378033 812187402 989178236 849962519 574788991 651466846 861660230 743935253 122816433 825501670 834850792 897740987 221056403 251903000 254924549 456748789 842475291 826758311 997004602 747313046 740527746 146810143 441562211 914480824 298101318 665725809 968357100 354194417 908363825 628828790 962730492 694248079 964309135 827310815 880497635 351014026 160792875 535989392 310325939 378218247 558080291 638402391 810592374 336489730 779840460 275038378 442430111 114846758 570178730 157143153 628105966 478368769 424732101 343254164 558070275 287130824 224241792 904187853 681008104 324306530 869394205 561630500 101737653 721169185 271787618 155074752 706326567 581492289 282769341 679474764 364839198 335717222 610688342 429531818 359841808 740721438 785881971 101481026 924246928 516801836 842760306 150068790 459445820 431235772 764931681 501854447 375038216 422669571 755742522 361718588 290186067 391370554 773479685 830005264 222926142 296342433 139356667 282624065 999776339 837921234 144315500 729849077 938263921 361718093 266662098 584511239 561133803 667594763 703225783 787269673 232117237 394628101 366922333 418898882 213947121 866147507 206642886 423053152 105612044 252156555 175884907 551476192 737352959 972192901 776456592 859190495 225164893 391490274 440412181 174854668 575962711 903755300 502114971 883445569 571072713 207246685 865465332 653341409 661878132 539121320 868305507 594818764 131319370 105984390 360032098 100729215 717807334 291186588 665067288 657180961 233452573 538623699 985215331 514537274 961311849 657831981 840105305 486569810 908187947 395719752 848307847 816068665 788561143 494893031 812773515 133703314 530199112 549805647 208364487 735964284 572918429 865262895 796133295 179315972 617739216 762691091 662055165 893571234 511799441 226462051 789138461 760202084 564183193 233502858 546072476 397362159 770369403 866178174 948445629 427603029 800423288 692200418 575420933 291461404 220263460 847605573 564404162 413505732 353187189 405346031 864985259 559114292 709031264 444672523 493353608 270588777 942779427 591596424 686323346 777764097 967830125 616587379 487360906 994279298 359182011 726792598 666747611 447309821 574084323 932015471 258132585 645738716 304073048 700913360 294661967 525645256 439360531 861295743 335529115 248086279 709637142 439665037 794869770 962606303 557971984 957523394 531859064 372599249 256927826 378163931 269451485 905109314 967666839 244458609 943386527 519573641 544013443 922790802 525809017 883590549 237954028 494104173 700102546 970672118 925320028 530891804 771551598 577333432 158800121 798492794 909189067 519498642 624021507 686989685 239661260 661815007 991503779 175212273 902554762 317868898 783513796 509962446 256231321 406664574 505500922 854147187 989148774 576956807 460449829 164272181 718755114 669097239 924502285 584416812 798847565 953985304 981801247 670642210 617882744 528262907 387287971 735676056 881445957 988877290 732125478 219910326 998541159 196832564 127033125 832231854 318820979 451847893 318085374 671406384 171957298 315627444 255883034 714378414 884007611 280636564 648536922 390467738 705923047 732134045 804949698 836177402 532275309 488508168 607202036 546243306 940519606 278604479 592275296 152478048 125891436 528333729 784081682 331909641 511550912 527045594 909645159 903677072 673353987 690748608 425050995 177906533 899632699 379058843 161914367 946806411 911145838 818622299 169522315 890989629 103709953 749138809 783579193 218463799 988213204 636417348 977757361 719078081 612436124 310749576 170087627 234459222 929690852 224288781 860099933 568891203 216001290 901249382 677569268 382599058 838175429 861823018 225411772 788086163 175180799 110890925 767504227 178601422 720659375 626422160 577506119 445680640 531755315 570241858 307926619 312049858 256365973 638980697 477687302 969922094 328127102 402894923 553757801 458758266 112725268 921712444 384769986 395507288 123558947 666596766 497296072 601702771 185795275 442966763 151894393 106909821 765377242 185143747 796321558 143659877 894931608 554181003 939238036 738205331 918434631 538043130 305866666 873477805 466268347 124453303 278403152 945899483 818084306 494408746 376265356 630615911 138821317 874751396 346244613 257233094 775929492 546023246 363967205 835415591 162855112 712613084 913520706 838986850 245208547 163697544 598324920 319267846 194478180 849994056 682084385 701658449 639977195 442640985 176875189 574468865 456357246 388351958 149309335 490314545 870458520 890076255 183429667 908183838 182565279 905717591 916777615 374612602 466512196 960015795 984918011 821657020 832247649 555310472 883215052 234339530 103822034 560039372 547741789 785846869 112053377 296876042 972837290 822539545 805380049 992360430 920951070 522181176 272765881 710313515 800156525 148520353 511032924 629395480 836208455 556901126 660314361 125868907 446294466 992612363 292951717 964125708 621953026 783311873 824628318 700348629 965505212 305651915 785730161 993024664 845407217 915147057 584745849 385605170 896227345 452612327 461776697 531552128 673271562 445915634 946183175 897516378 727144583 835733811 439257046 657073708 632176430 598264145 145481137 452135219 418231350 734057299 885028066 328851722 447724277 447999128 492601057 400171730 837632799 724437122 237470997 201399843 877961356 161014904 445806797 295085270 156994986 767136007 794521243 673713976 893201883 538707196 777827915 573243976 604499696 815363043 672542280 210874754 539222620 948378644 108407690 463953733 699291320 319990797 418049733 819792224 728717323 104846140 143202139 169830104 796674473 265029090 713611045 541755195 223740940 494127948 608450816 326031182 608425482 634085301 903840749 548760128 231524491 624249300 765532203 158289722 994899469 608708138 652825818 811996323 891039747 370559795 415404229 972323000 557676688 958788370 609721679 517862088 728924783 186650844 641686809 329338810 941362900 387929954 166743865 875506253 115008663 384177060 987415760 323216579 497059644 411163545 944077981 378405098 857808996 162807310 415704878 497127135 582137445 593069976 714926650 591599560 794832279 906950214 350016916 954129732 718703627 710609556 864560433 580417123 422679232 531339277 773904587 437647716 716929775 892387308 858176200 621103396 987659134 135803673 107200894 832421540 239277719 379721676 977458417 492410804 907483159 897662702 951939153 599402528 316849226 290494404 551223809 740475855 214462200 623709612 268252013 115443867 402339665 642485191 823090024 654160013 279720418 466405971 110129014 721902804 416231888 487675311 587085209 141838964 564404818 651000630 101916544 316068275 671392215 254214446 107950872 260156190 559978786 416358868 635938385 318011610 830149231 333307133 236996182 429817449 154096588 684141671 140800268 406440797 972682511 541993326 557033061 257121821 453169388 130836044 726345562 396246061 851381711 382103480 983351948 390269629 778869558 396071389 526653589 851632925 873626503 613364892 132280007 919327377 405961003 370080407 170265283 222412443 115788317 273437641 824193941 946512341 626981490 325659334 978791041 172630149 239819696 781209348 773140223 607114961 133673221 330928729 214999767 143404721 171550978 990773935 899865620 460722490 309173663 106670228 758059344 971341762 439889592 742194482 226491713 501252011 802211956 873680698 245256951 660778196 161687824 472768211 349679374 851898379 963149975 932085965 834130998 248544119 396864300 344753804 266917110 326223211 119149675 969530366 636508835 363759469 436502636 578846914 491882954 325652873 714847361 980274399 531696325 524528304 487006006 577559476 703999177 907638316 567953269 956360500 167763355 364708904 537811505 844555445 853058802 574041974 394496694 349125059 256701680 400003907 384307445 839862621 836169757 762221128 182029201 760770534 705195624 838659581 477033776 831269926 212741146 804351629 381207533 927443916 481399902 174690166 768781359 675694021 705180135 926669744 881193984 525363507 928542605 949789167 870760382 700862606 527185924 213787426 479485423 659593772 153189347 170135981 766113119 276386028 845146297 116747705 521623267 369011062 686543523 761361138 664677428 760786869 428895084 388511274 752064194 643337156 957609297 814927775 899881465 428752815 367866030 320158845 105221828 114277266 190388354 785375724 220853029 827209250 230135298 390494073 890978137 356352772 196610475 452660493 609994532 328011599 555558283 265900065 576732809 925483526 907567748 463012873 970942942 163394777 434281231 498113352 161277286 156216133 586129830 998750277 948564527 645074646 255721040 180729323 834274670 384712205 796136150 345177454 455096410 922315824 541940960 183386635 173516480 538496324 420442622 613847064 687569417 771552607 898886417 864822963 567502249 276577429 338146361 876267808 212957303 869646472 393173414 471316732 898790760 805197363 462026616 215978822 241631965 394441405 633315052 361609246 494796188 443203737 754512639 923163067 487457806 104950406 445547921 948997471 446598383 314827796 911050952 671284803 765804864 816772253 750740021 629942161 451842422 533428480 457200263 471683912 970165650 672288737 430585728 313034060 372080851 374385242 611141327 862289623 339307962 974446060 913153623 476075626 169397090 263847853 257481106 322124569 878201758 104726629 719228644 593117439 966642831 814421636 894508199 911908451 294075349 437186003 786163279 176782053 580481368 128692798 221680597 797652104 554310408 246542995 750691011 570448167 685287431 762935181 117635453 872899328 828124028 916493576 948980429 766406238 747711649 840881084 726455749 656011366 926489933 906656544 576823975 946773931 800796458 449011486 457638053 213030914 695158679 482033170 504770694 467418969 435157771 783987830 640059646 892459086 686596374 368404295 369863094 967216630 474772514 303639965 565403666 760287822 358291382 173125442 281604674 999771387 592998262 124413356 410718938 636969197 380609203 658948038 437651103 695165543 994756759 318170045 129453013 478222057 158529279 391155398 574785350 289763020 851474657 812786662 998678881 626493544 673905111 426435967 605625273 577086818 883568295 115517079 322600894 273872870 657065768 269863365 584154643 253531033 603510307 371904900 971242139 163302339 991313429 165229762 374154887 798585084 263954998 813860217 319673582 149002050 401130459 513203510 967890385 342141727 651333890 736329287 944955875 763532996 625118642 525696714 447676026 888368767 733744004 519740044 177197252 691235970 731993933 578062402 401347864 537869504 891817142 940882914 238015778 966977120 366342327 148633556 732968624 666720689 757549271 214823317 872148572 769813348 530776224 542647680 997408819 193276757 268068057 657800571 770716166 124283386 726131286 146076829 777482628 490270665 759012894 666236465 611090294 921190027 245596156 467957212 503607536 273682220 766754680 301636695 968257730 505890580 679571951 352782746 959680023 619114263 800383388 451971623 921703259 435768721 125951303 577043395 730369172 511435697 790142949 405782740 876372402 917819088 382162614 900060560 839656277 186595753 931732653 265920059 621288056 271743015 335612231 197062213 766666415 966784674 845697170 679535170 771169242 712477063 364592671 456373207 870667955 618375200 973979424 463617975 761078433 734737885 169366113 458724930 958159735 489906061 863027251 259209332 680245474 164788758 245474065 396543924 743371088 557739988 416468945 149386318 654485871 877602966 332323335 159288191 922229917 502476685 312070452 214640415 648767105 993387271 974735122 497423844 507715282 729436264 933360496 675240215 850483320 139663679 974253721 625935537 534583450 370665462 399522798 371413080 143208220 945954328 180190416 618700479 640296464 285557423 654356482 378287462 971265596 825879108 744672117 302435639 454579500 695314063 971438222 749768459 814404319 448624828 874270499 136605352 146698582 629559996 661677205 565125611 510523895 692911214 638881367 711782077 834168579 571856473 955367660 992801668 687722584 109849833 912048590 490930483 852382186 873893657 712356077 435426909 469880778 933985997 161760213 116469968 785361656 109662128 657064180 931567025 784755066 422378154 832562401 647087465 742861792 516064943 333150518 272053357 125520543 249360026 658098707 246617509 920769233 840926817 292171671 987495228 329417378 955446299 161121514 709431440 498637969 458380504 580058824 372887726 208892160 744699521 441623356 521544832 691901517 969931945 841806985 385379575 329357355 771004216 302447197 744495477 879418206 833708386 740156984 888103387 909371472 503769415 457269603 957721762 221799893 684759248 510479653 409881988 752310967 192138509 672539169 599431240 589169497 359067064 542205338 881646856 709297491 703334791 497980165 932593694 369904792 173723442 187496879 519454402 546297319 478559378 210932547 463183900 831475050 985543923 295330218 103945520 331279392 405575708 556624627 568929697 479360134 848424186 226979351 230594957 217980004 156912620 739496418 546584430 585707036 287559370 463468282 100544964 220981503 845391749 537155642 608294036 493235603 385062167 489404583 880027230 512954406 215166626 292632789 314487879 789023049 152140128 689291265 779516596 703746621 217656402 728777011 921368038 793546653 796085571 630073170 494039802 146164221 446414872 322007284 499150336 816598031 452356218 931080143 966872906 333708583 240782299 767238992 660549042 402607681 516143597 921688273 105131166 635696413 273403496 198220612 385505361 279773604 852138492 257072225 481145549 961383366 893520787 122741412 725688616 189779184 644010226 990835173 686634051 873536029 785272005 252060143 204394606 376771663 740376390 846649309 940888583 600234603 764476428 691990925 406959987 572673114 601542117 477655490 110701283 389733538 949554641 600797546 589184456 213104921 713700516 685447474 635231070 884203846 365167268 410281390 431652478 729161768 369014942 441745510 541630204 944819598 901974458 686874714 720106517 307951379 961076249 706394490 123829473 413872488 449592188 123132834 227603152 896506552 717561985 700838240 204472293 952989051 410268068 779531486 411154500 378838707 687393598 349133606 512661907 744237477 486148104 334265983 553298237 359984299 424000032 818015223 368949996 571111581 827043638 788067996 818803413 853629841 160550896 105681245 923893726 301058398 572036887 161434163 692688071 721671977 785539488 479511613 521683985 913756239 884976203 374076076 967223813 555508447 972371182 834798169 191734212 788114426 184923997 936088908 583793123 822602197 295620434 598991372 801893197 566366633 844100969 705179566 334925869 359384856 928421960 342940038 217690326 533796860 705076965 243127468 442596623 394373190 523767846 496796661 808333761 680131771 496596919 153459513 242800362 691006120 252842786 936549044 849982247 198846982 826158303 766041661 398569139 243200472 126852823 750307556 354513097 313505347 932226479 128426785 409752692 908926060 872403313 823853370 423907931 941953511 100947327 367115902 691103977 422684962 171656441 999943415 469325169 746585253 648473005 468602570 176001962 513882331 998641728 438478952 277871694 666725682 729568897 436622497 837600180 299514795 887763994 384316816 552401464 353604555 866628701 664165536 317639520 800350358 176341670 367552024 322602002 752066336 194645246 515022170 216308825 509812383 147137315 487286738 135419756 298010475 638772515 980120002 257918331 313167301 677734161 952794196 930296648 476713110 284725449 589194543 113920290 228967458 802007612 723476058 566380380 170556705 901336983 996508278 745813384 804697130 712012127 971643595 214491746 312458349 666511915 396625485 767684477 621628492 120425254 339922703 639303662 957267201 828499953 504603301 188180061 366869468 418803323 880227471 987191315 629739170 911742353 319376709 162628052 771503088 366439786 164331757 397266581 668293383 139603088 918970314 892316417 459579996 523148017 535884547 354142824 713819352 278600296 950129098 369829024 679223059 917167561 653609418 331763491 759385565 751590149 942449546 876423241 976330550 850025185 952096251 560835689 586280410 331507845 536291417 621109952 235462087 254309008 797089911 913393457 219390004 461959938 485296195 431904844 208436904 246476146 388050137 765549298 762367508 425988698 796936427 180669249 613620283 642980114 907296385 136796350 310375837 330591506 204362709 166836441 551707956 635762919 946524291 106068115 350425481 365535547 985677320 992317160 862924869 563211242 617273801 756232447 268278609 315650975 140280257 528265100 953828172 596572379 956830494 265977154 948103164 256149132 932956243 356850484 777732178 572225248 170964846 983332736 755574383 115853066 851625613 231838115 692549447 772703195 839739704 861716852 145274733 586788984 209486426 402956709 564940154 100804057 402654590 914446057 287163449 609316685 922920967 435590665 997035968 565563471 438787935 845491570 769544698 497752378 230674029 163470157 940234871 975302335 988529041 214980130 749344575 881803151 617119642 182728015 329361575 704042131 289822019 146063910 846606524 627320345 673680132 223752092 153918430 254095112 685373654 716312489 224977056 610909985 603099887 363502952 713870878 232796804 437925445 816789703 228725277 455222191 547932973 986762884 681598135 173299762 392987447 412406716 590848815 162683109 796372666 522654032 441037324 859812902 700343867 694823302 316014295 503482570 378602321 112087417 173101317 594184051 561823944 382822094 401378799 711460255 265708262 697655920 888889281 426935578 191135141 645880769 153174185 460802558 510977559 971375239 801956751 622646162 566915014 607014604 217809922 445317779 484125781 377743844 365878896 908678335 533211222 443784943 699693323 583655841 593709464 149743810 625402209 262927307 812444379 846844942 259064771 566004916 921336713 232083014 419816764 806158517 426417683 685618149 901427890 938089927 960841202 218678958 793456396 235636501 946723260 644787779 546490139 676509715 224670664 402876024 748395876 944001785 985501860 834218962 969741858 830137187 172627036 176204396 854449911 716461772 568208193 357801537 817532122 713062660 206325667 978910645 378131612 649725087 440658672 517270606 749710352 782816805 181756281 760100399 802004899 674045655 775742113 104970606 581376372 738056493 781367090 836772673 287557832 913131215 730545626 183175997 891925883 850566289 700699537 230697173 801724179 395246949 195493138 457015918 299399667 640900119 524100204 772088264 137171863 360306888 139197136 923589834 141258572 381017566 192109918 304657752 320197859 921184143 845809312 281768417 687733133 442876971 912116390 217109700 126231837 517841965 485900030 406267827 272362375 368908270 238286943 954854843 336446541 886140058 376564891 738195058 943084827 453402539 238186924 997205246 641958483 545038559 652383695 739244530 322226923 934003355 968547538 142935654 395566835 700270984 101405566 524359408 408598678 460006277 421502652 386385454 321943585 732352857 407512123 608924220 788530576 933065025 389648124 285156840 576661159 933148756 284731238 632121147 330326796 333685427 362395983 324690982 103652862 987204026 501138307 542915710 668504170 368740661 629617738 972113885 735094909 998118567 811889110 723600505 298278843 457640461 364561077 682593682 201812179 216588892 537535823 538266754 996419811 434705194 275707307 119911308 981895824 812703010 893120376 567857230 332889885 827441036 172865726 262517114 571281345 814190130 609201970 403900638 723995491 983782797 728853879 160783366 106907637 276095111 896587407 179957322 973369580 972322803 235295830 491589093 946408532 398519508 421755976 743343693 990534455 992815020 958369353 834582476 280101258 742828424 986688081 791188545 307612244 467291909 957534165 471168155 685482161 463691281 749766183 111715285 208788563 260474184 612429687 776729384 808357104 488749402 969490487 203029959 470688101 214758645 445312285 961067141 282019453 769191802 208181660 608352860 303730855 359632748 884193033 795691031 547869018 469686089 355448980 963811644 646939353 623662931 800642382 162463821 679699978 104367852 354970134 951414618 614419399 944837036 213443392 442408399 111904175 736713799 565168375 696105613 927011777 563062184 681312898 402907265 684609455 740309504 251273481 106740751 381594190 611133554 352897615 954009811 289321887 440691224 840609626 148026663 916988939 365189553 262052854 940895758 295949352 692434308 648535106 127812945 346164321 174322657 106818827 985239790 291316866 548797960 820971582 567329179 205189004 157680158 362772892 912534785 940641399 764402314 600498892 999922677 597722911 397532092 998265958 420857536 739593972 660407879 161925656 437369892 305429431 208387283 517983019 285772355 600758011 738338208 729371875 946563153 236158441 865933392 141196200 281814688 322230791 215586742 220424340 766583814 919244540 615218365 632386905 543445571 732908315 218017313 793668345 500998393 282362337 254723977 603148027 872185641 799152949 561012551 421572347 614141637 192019334 522628062 580235854 432090907 389662325 666102856 266608484 974054902 614681338 678552289 927959091 619832527 566838666 843194406 453016066 742027959 814370268 758244909 528914853 451659428 419107209 540117776 614091799 435965102 515656904 543520361 237347807 360549851 103154261 354259250 713649137 809885645 995382611 895356765 283053548 262398445 365543941 157220446 984300707 667717874 627581999 583311893 833966626 392709025 291926575 840365579 799757632 735090222 238527470 752700875 152392974 857147486 920048560 615623974 370019306 393061183 646190903 858811219 865216426 616819346 328222145 467440385 625771980 709835374 287739357 927728404 305801407 203909721 134639239 405588738 392137664 580111301 706461442 773972814 508187110 440556175 805514579 391257226 317786961 297470968 686382911 396715669 842361812 650678939 745525351 624703142 254452545 343268633 572551297 866422247 534414530 211372349 140946754 701210259 229173272 597469551 528439812 601404009 841270075 538974342 884848526 597935219 879114651 338451217 838702934 161253494 749992899 277740998 589165379 367254270 666259038 522191881 284906156 146328257 905946925 371072800 489035182 785599716 472257468 945465489 262694189 158021417 639214616 581417723 800735545 715146812 853129811 189980427 606657707 884225823 480375958 234391859 221657757 975687845 101976223 304508678 433447620 148805549 671848714 997434009 399046562 960315614 520044685 209444746 706283693 684144246 673201526 361744981 852169404 394586111 823659476 304158068 194043407 593457475 200400542 410043210 468774962 462689768 144140234 803785898 899361582 609833115 164916435 627441594 988333430 846421179 481544057 618082330 634640944 118581178 718382492 800370530 894309631 382346658 871936929 537176447 638346056 241603789 613120928 160303657 100176619 851416646 502262881 206032218 729042491 577277227 765799668 589115381 840728679 925926397 892581426 947358397 613936086 727528684 316461595 189700455 842931688 548104818 686576217 269716562 155232623 527765066 374816973 210190807 488174554 380692683 919983674 516046604 309548215 950162872 204532194 321768746 649122009 975217843 118081523 563313656 807958049 777901349 300974019 690640150 212306265 781174800 483023098 620763424 381077476 354353451 111241122 390187412 533126783 506570143 691313235 539867602 508452545 813070076 925575989 836327229 912740315 334058051 489098674 690280883 885009148 830233608 704436523 961725203 647440105 415570458 739372708 385620231 871726979 285113905 990954990 362613487 253048815 891883990 255010088 849675330 931917644 345909519 548948310 492132078 768160042 809097930 551550171 780960848 749321650 461779366 839830695 918814441 221222282 758283568 816116011 610858113 704589486 947425669 147193791 860038402 940208758 874258218 998192008 658201838 200503092 120275802 486366354 722790958 736596604 852883786 855655136 350413109 725422340 947232207 544249604 811912205 393318917 673574532 548287113 718573487 209857460 782293027 775849128 751264308 407440942 342976242 133694927 808822365 801062785 342197143 932591514 261090741 294893227 970606574 636910514 672705278 387657145 577613118 882650457 718206416 246671811 175597154 904727651 806496048 823935818 369848373 285173785 472706584 984771314 487155308 947500552 822977524 883601158 980552306 497564423 272172968 181648539 948800633 549238540 380436844 558772894 831362907 916543356 947228711 598570919 753892260 790507457 391042277 640339986 215779619 870874532 621973395 577876163 507054503 448349559 479899117 850425902 401561064 282359001 443329141 852284665 877698994 296875491 283257491 577822595 986494421 223492511 461906521 583882038 890927505 728449260 495098190 513154292 888997793 436764734 424627601 937178536 369884606 795857640 862258784 993018025 631342196 300656203 852093240 177728340 490668711 807882886 462794470 681504445 134660644 604556598 339177067 137191610 476114773 424735421 378826045 158988259 855191442 728551606 158068556 435352449 459210526 926475958 477735855 978367480 910715143 715438113 682466177 455883837 627134986 386843993 387129220 147194983 641004191 298395874 371809311 693581722 134096613 122734443 568603946 803093007 847791381 353867413 448244977 962781135 685895296 588348704 634890742 707621314 433261995 228657763 900157908 856381610 688914490 159125774 241064215 647645035 914673385 579506492 804681161 496868558 454178953 685792369 379217088 958958095 757845352 911273950 507966219 578230283 468112671 167046321 131035800 630186238 541949803 252021596 971608477 915963559 544261184 623213065 666527899 418026284 279791581 100773840 815466165 474874817 283547026 956519807 907240053 283320370 470653055 942382144 513317542 381033571 170508991 123021404 520229531 712825747 467686731 149821042 433987716 484875220 789656309 393326301 908755426 307884007 606427439 299691042 858400672 815137487 350983493 361515122 837979522 888450124 898241555 264750536 396686193 551945340 553012894 354785150 152081437 232998140 796756901 659917951 579457341 518240571 630956721 501911215 355481176 848829122 394538983 855598840 638535579 214993378 717152779 546383821 361115276 786963468 712169815 647321691 735781430 631390238 957069446 390754071 442781847 550653755 930205042 422026290 641312709 849676489 729134793 464459309 165085520 655737178 938886044 574886339 669324435 417733589 830414710 171534859 659763005 136709239 489310873 250005576 976766726 665631815 630905477 641086294 819874823 599298746 680473713 656724151 605930409 422238899 639328154 359758107 794084255 232155068 573043522 702167298 602463238 842473730 814222470 204067933 215402269 986968602 897286941 211732377 533879923 273145077 268376946 891000800 987062926 879037607 146033554 941016016 674293123 721844365 898569947 675945668 454138820 315679862 680553155 433922519 590388208 856284070 163443931 351303167 700094495 756707281 999155694 353895350 320590960 507235782 199348050 333228200 611403371 855815890 364940152 865620859 732795275 711699195 257113967 928772440 269008576 981483623 946854093 442616394 340732757 176444984 919054385 848005063 759830416 142466319 505270211 374122355 918087052 512126221 175640985 775686259 860632870 715881120 108116777 412584411 197889815 562247952 272204580 730041035 790716443 229056426 716123817 774680885 712879208 510239867 431956602 220076514 540527424 524536418 851794148 647795334 406719808 241095249 786675922 578868433 146384272 923220500 445017352 399941608 145354119 274724550 750209707 891016256 110003527 746657829 925090317 897047396 235067494 456627007 934555634 273418513 233673829 480769515 969616575 321119210 726569229 153296930 329302282 718927398 863902005 617149608 833328678 159945576 430045229 138893301 430854142 867193853 254514567 424192770 402606854 960258491 672935919 928831737 420329973 797612959 375941997 925896704 897059299 257727639 147636229 145169699 970657912 971628895 693259087 442533193 456304475 197983231 424730416 613535831 742165731 759365645 636954206 886637739 685549225 418659148 709404731 163133411 219425969 257362524 748667055 545948243 617552295 276606460 112121729 567795897 643073245 862128041 941891082 238588911 905233016 469556032 483658016 474765779 905321917 611673252 445408754 595481271 326198378 816132755 146852060 120992255 637343872 983144482 858187910 940108268 381949940 652363000 481676505 310605489 874278711 357469343 313553169 944529727 958826280 415655995 380910900 411055817 627471350 947998786 966412958 199866256 865961499 147191721 759440006 403814669 167329277 210339025 424717788 589200825 233893511 828363645 805260928 700128809 876940124 795486746 928837497 319433826 984618301 727420980 747214528 274480539 117304294 479275551 555841779 764839344 631388782 803035636 970862527 334176811 619300016 578727649 223333386 650796229 871759233 317775841 777629131 463026037 581242486 911625551 484457340 771673226 524630303 325488443 156012795 834064367 301680748 443547354 260550344 530531721 646212443 143785661 491985049 174855652 428294833 776779025 528611342 869866049 793659521 102425861 123858148 694931473 600852765 921040762 659935582 459434205 898078028 356652454 852492677 725235619 854406374 408327589 167958050 969112521 479043382 891481994 630777775 302356988 118035910 207848097 553474358 796434835 512916617 876689928 819095165 886519024 853290218 461729623 563309983 660171674 469151070 516183370 470334568 294357505 105571290 395462716 343339685 275907937 274177587 383805922 793887011 593747019 962200611 919679426 648846393 433282778 232971474 706972454 826660123 778605500 848585266 331892922 794601278 987674197 243894331 267714974 505332540 652916921 118659203 713582612 395310709 788369725 711990133 318314842 426526781 679154836 786797382 724972351 812838202 159082191 506521030 636013365 714685514 248087056 993953793 873080990 847372941 257014321 248572501 603561198 155559374 505040757 597007321 758969162 568428143 504066239 161915865 529628923 729662125 373108643 548409354 577061880 585456667 931316196 522380800 680292205 945143893 167863883 557638901 297107173 289843958 681244089 735749891 432636893 850801997 858336830 675048917 185572107 217943946 520794844 839892418 111505139 836744676 844007124 923259175 937702339 322726670 269417508 337133560 109159928 779366734 984012718 370857732 534983041 945588933 837162303 991268754 942431331 947114783 359497932 405043512 613068043 926772221 726849681 923226661 374563621 781061731 381663048 119350071 450940731 586029332 732623461 959150497 234616357 448494101 144766510 979894148 696840875 311778650 142405113 973387191 231370225 356035237 722547711 781684118 927948337 771359737 870004071 502186301 433848860 700880877 847278311 159456657 581921205 112682173 119717814 102949649 382833509 541366429 168861870 435483562 357728203 631764625 975050709 765701189 202528238 791575807 986116996 808574919 362877165 781173092 944232203 772574647 715510842 583703995 591954574 692864216 683255765 840595865 959689584 625938895 957037682 508874869 177665904 660147582 155009104 850875393 191508394 757680711 676999651 102302758 953579327 552898493 693336970 169121470 526381673 789434054 634803454 536680362 105590217 447674802 630525810 333827481 486131063 250427329 357423752 414772990 201905261 530602443 185469456 209680363 358435345 962362430 486113519 989091686 147096847 389189455 186447997 807553514 175588639 541390079 382456793 670210047 941379360 597879581 537975365 552394921 336432336 702113304 271489874 737125921 234282768 165643858 628393581 730331948 110215366 615252725 895374276 883513698 735174478 836216229 185924203 213118497 508486175 297026289 184341179 299173850 421755948 144096303 737270447 696727603 158511870 735181203 700216109 483295611 843155553 732050844 436667719 224351969 185339346 800082843 682550354 872360915 324152229 931380363 624758677 280959785 821289746 682130408 871496667 815914862 330764483 551248874 362404691 549028311 656092218 487181955 641539750 274966261 506493803 892382855 951846783 471237835 488156162 375217190 604517696 634080481 706838522 328360975 906717872 256467897 340288599 577983496 177085259 887456783 363443964 690236271 635880045 635120478 754390108 301632301 496523449 486222220 617626064 843544832 736814084 241099945 245158101 852968778 980717700 791033077 628922377 875600279 234109544 163748897 192252359 292344945 304917618 496913540 329474257 596821967 957391345 171839208 871685657 156026192 909730390 886588355 542768924 896405209 806164198 297430701 613205309 322865868 618918743 757429428 490472448 115669368 968225486 128392673 502126767 933892569 571517089 571671266 776135012 514295181 492154664 175114643 444359707 479933890 610905013 743383693 995166776 283701805 720264209 741228668 195988757 327343096 185151572 206275639 213546624 210261327 835502302 461735490 674847281 729227934 405531447 365359011 257772671 230158127 774757514 604408859 818360650 645905476 173978994 578591887 697452935 581400202 731188059 359564806 214868303 854079830 955251981 787731272 941413194 164788645 503031150 206427119 812359469 321315472 186197438 889459609 746295727 604758031 226863060 812430516 860370320 973108355 846406418 639748685 933112509 747783639 843303271 966934108 186277809 735606391 674496239 257988325 722494345 996301861 231077580 707211217 966067922 513656442 708231550 656095473 905909243 357680786 743438486 962303474 199752433 748547132 624137287 392071584 261635282 813542805 984536619 569751226 162902885 610441281 129579218 739108288 219242531 779592442 501428236 787002697 537442311 241150962 919163992 539009220 891085307 162275965 966741338 613410164 715593563 735021879 218820212 905182831 275508021 353455778 854229374 344488668 300960734 816619734 464813007 985448544 607880421 279995298 785787921 281755941 566537753 827721095 653674528 995068287 410230688 289870577 177875215 709890538 664427953 249206527 901960950 988237098 767022361 326806396 366394547 863923631 150799381 186326976 130440411 896197963 415549698 753774544 315060308 332005381 382753175 182377124 790943214 282207619 817656028 447604677 605089882 273921472 990764498 335843111 182919448 825526483 646516665 525295360 836057294 686850801 913165379 929872859 468729411 417500479 452535897 554222036 788123371 963194263 701166600 580757636 552763592 899140151 452946161 489730554 525932353 705858808 121920497 375368376 164329856 410044541 216514416 573329850 871781689 500038814 345037500 148272327 906238857 303433828 429031244 941961347 788065850 313336681 207460828 287778654 951853391 592509757 679544243 547333285 855246412 813747664 170530069 397455132 478699879 225646688 364800160 454746959 700310197 266038267 139423390 682805556 445899833 911242032 481827191 158687380 286137913 294463796 477038583 458583438 511296478 421093942 710682187 604263794 749120068 126611133 213524683 948254597 816024891 101233353 288062348 285943092 878631830 218854926 223381752 501807717 485948487 254999690 747118062 744282837 967400571 765670669 912804808 701623623 666397624 202096357 639059313 714264529 230207908 822286542 887387608 729520728 524185634 965882997 522539857 109269604 820929811 589712910 155527863 342079408 345349443 217167157 246549062 420565407 730042308 947563038 537677016 274058675 361397783 728232298 775987257 889932883 163270456 225644432 227436955 853285047 906192669 977485870 101633195 761337147 574545735 455642586 519314475 115106234 939279007 760965079 854808793 477436728 210090442 596853518 739419812 902544052 662701655 619562304 917872721 858608279 398578068 933150417 531050377 821910187 733320853 702430379 355709185 842948136 438607103 134736553 218304139 687790816 561665528 652068072 441213501 713858527 171196916 346291376 686189661 450049040 768258571 213094020 222171935 361814920 535883013 382896200 932053377 106383308 511393777 961477403 764210888 114277825 952377029 243916276 993840365 458355400 187190038 647493758 988839608 890483023 702164176 129733798 123627434 752741783 195545240 204006771 414850791 544399442 186794470 922883943 565879521 171504031 674172342 501000819 810259477 414804156 899068225 631507414 158314718 842921922 562564468 612415348 230015434 301794892 135346913 766188627 431229117 177052491 439381357 220640811 293399140 479028359 201734208 109832169 474319590 207065682 326180832 422404411 729784724 797158975 122710054 182569163 766959104 670497714 836388157 394102279 163501599 279125915 476068392 136963747 805761144 266274143 579748393 418211491 756251465 266271253 949068317 860741743 348972014 193725210 489797399 974437675 170912680 572920912 704070896 802862525 411555021 505149183 308900654 401705702 151183105 160838626 525641478 462649009 112275807 471424459 413366775 523035798 483126976 227417203 404860387 268112080 460532779 248189199 104554757 608845753 419547912 657898504 720056786 831432277 181165382 453312589 139386216 161848488 968986377 909973497 929319991 543635369 120416018 138482958 908606377 951245982 519749348 166205617 273637955 504643571 667555545 755931080 435434233 226385549 390201364 780743062 915212284 971263907 138356504 959720854 106166211 753647485 623174284 955136523 150222447 875857787 185315307 419463008 703228789 728817078 665270901 464191535 754625232 911073282 116817597 332236837 932661969 146217191 806657257 951556602 387890177 453110707 174567262 546719560 321911163 785063100 249238538 684245274 900204407 709718178 469304818 283362308 942580076 541189524 929257186 814841893 505510117 286943615 560766159 961481005 577658768 771645138 811010660 311119163 659350896 637200849 285083357 377565698 220963500 742598345 837016923 302543492 297422169 341044460 823543572 788792274 395917335 593094067 397866659 101217566 285624583 699229561 286537247 130016790 903871977 619422363 165581428 739647675 634538646 160485738 153108589 354712492 329289463 451606108 270815746 420824098 524857577 886916452 849323300 680889384 167560153 238635819 680864199 321943650 324892093 789044103 192104218 827396285 430971007 421468748 912324895 825984130 642576590 195203349 111785450 725896852 253333674 972813686 470249657 398998635 484405433 317793697 224935990 722923418 550965104 408985203 711954425 744100821 838260508 441369759 466818384 293920406 532057413 834718799 378904783 386862021 949382748 427144077 768929018 990094288 461586475 247841395 388282600 245777713 811132125 373530152 401554762 889959518 478047595 926427848 852363348 135312800 177063249 624401933 746257435 420034044 751514056 573009976 468185562 174909783 152248441 426580702 934699364 279943348 720150677 851843378 622712041 234425186 463109185 702568556 309680807 652265805 492544120 659916273 153631162 674951538 553272991 479375871 223270113 818527388 943642887 415754519 790939168 619519407 407648933 314614076 600931989 599285174 266333648 135179788 178651962 525689453 952410457 110812028 531380238 154733709 560902565 272460237 761443322 689890308 110947027 622418454 726929319 433550023 861538559 375430914 911696547 273464373 669132675 963071413 902580641 626669111 299503511 589962433 743638872 311477182 756161246 551401166 309655588 541469362 541007614 991770314 363679578 768838961 941115318 919570052 567428400 120640202 891206164 149699060 739398431 459749570 754927306 782759379 128320981 808713429 522836252 635127368 570331817 260512726 531387082 669990059 158894537 533546713 121081202 235607925 196084804 374424906 383888201 866770301 480586658 579905834 341065194 564081399 153256023 697757741 364504547 967103099 405664692 946662205 457776986 843909725 536861838 845467235 421829344 400140160 477409611 741976629 404442054 416877013 270757790 659382014 594884019 507835987 766202401 111960127 805863868 571402665 926021653 994689128 749291904 954236795 631507271 488759427 591784097 297880755 210125016 256261914 150251686 741555405 336847703 339761867 963732232 573350953 271983294 476119520 732895533 284772618 259267942 330178579 480211505 482531709 990289461 329729692 410831034 819844129 221562849 722164884 104420562 376927458 602609633 148462660 959867740 399853644 524624405 452960480 116289119 848772261 365575792 369777073 483779384 574449042 950172965 105913796 294543734 595721108 460647811 584525010 960663903 269771903 497226504 329693015 798677862 613005168 527838494 334845455 600092874 986571415 145084471 607536739 677964964 535448881 882406516 512649444 817122392 365443988 997593955 773999596 898617298 503771336 710439937 576334057 488281180 138657748 974831355 560575768 599496781 200311068 407841969 382147051 421453084 448281580 777774587 995663040 626869496 811309619 850354641 575136919 173515096 451801398 834039553 217498221 724816525 480108891 374911753 955604028 701383808 957237226 919655393 838644966 410925379 325164394 963355243 724810971 462156823 208172838 989666901 907214214 385966905 438382214 109409583 451524848 631091818 740320606 574610017 610918401 500470316 598101756 184186664 579450299 485816928 384800076 232300373 215626365 240242133 698757985 786220560 880550360 795822654 765187499 749820169 777065069 737019540 730619985 162211430 478387729 899744619 633568512 505822576 848878007 992193699 204428158 359718694 933142640 489993523 499263277 475917810 786051478 431959314 367047334 904163110 100849961 145500056 202390354 244818002 447147402 675868048 471559290 147759694 732245127 223590211 582108452 795661396 123059976 229032877 489376183 175053366 840706137 176051973 679735572 848856874 896992258 529329160 469684085 840974133 112101848 664875074 834118061 487840220 305012075 218929928 311765925 532264131 799175730 824173344 260201560 479993698 340432392 748368737 463101277 593645974 819063157 485834904 492215737 395562730 544265983 661600269 250400632 696110594 516308248 848459973 926859682 773209874 210850162 332501279 421547417 571218243 899885489 931192014 612177383 466061865 460008107 282830106 153277459 397708563 508804882 555570479 592219726 401764345 676071306 446550874 620843255 414657651 177775057 900320088 911118839 810081988 621315195 760994640 460709616 742051318 776331883 539175739 593882673 302810965 792411737 547807361 581916971 221938339 860987217 785502477 790159332 214596467 371587446 235440604 517722954 621253860 354160229 486338918 516408986 118792753 765483306 279200788 569506268 634767215 714660396 346474132 473637344 876658804 736253963 515487339 884565748 723951463 199544380 619084360 489081665 989359392 434381179 729120886 147439346 459455326 393949498 799070890 164906334 966972835 994822252 963735157 281663704 764768858 173003460 583266218 274611264 978116826 469214851 276310021 615753862 210856032 421061318 466401576 541218835 551754225 538505697 854883557 964059565 327624804 169060099 156075355 277245357 398298406 427726055 623882270 493476191 276903049 466057230 127576865 703046958 297464702 896374635 549063547 536982076 302813265 727914086 954177501 964533776 548104582 618189327 429235041 398014837 600384287 745041375 869222638 425433012 189995674 607676876 383768053 137580986 180209913 207615227 416747250 372991990 360062262 981137792 845944743 650405278 278633105 744775055 893812088 182732242 191008738 999839592 722164925 659066041 216401745 478906292 475265193 325391980 404692935 567683008 681408494 422562823 680033905 843093325 183237188 618274936 481633246 904072328 524985885 528219477 107614943 219552219 758548518 493573748 427056675 726971473 338856590 247921496 910614800 939851373 503524983 196133100 167631150 443782899 799028392 233726503 805194473 843755075 840004036 548940524 868698941 704579626 504176772 611759639 437815795 416120104 609111451 365958805 542952638 245019971 721866160 482438393 953432511 954389514 825623718 214964910 338424544 908509235 552914015 666102326 437905885 824241345 261866669 376527422 739545758 511636518 198299674 891255935 557677061 584885497 493791730 785695925 314090762 546712768 811571738 856435554 740559971 811442285 381004315 758986962 899851550 786408083 621238200 971295083 579400659 839189437 555326334 385507650 630108022 276660365 854286139 932036767 575401924 310336802 120257602 492211954 581323872 111768685 543814113 958159841 575417390 265491837 398311471 195502946 569997902 648219089 865518822 106772002 243498596 546812267 627818616 934660024 773192480 252091636 104748481 118600926 934716901 954471528 128321643 189033737 783789872 668262346 139575017 376372416 166509585 514703730 547090252 513546298 395954717 634543714 995200094 439685757 792370065 707710489 702703604 747898846 702715556 594574231 571303638 813413870 567372628 617903342 473109212 726335835 978679802 748801797 732718192 147507872 107651985 481329175 842148783 926690080 868676320 263622355 577137750 811293459 894868238 785464986 742021815 868459856 789599126 955654267 644930443 537428817 618537842 412307599 300140932 701772944 538948749 963377899 910321308 922658677 848348602 308328819 713810072 228809276 630065206 245153117 664192199 651307828 153776544 844015333 594274387 776929069 270711840 778436530 724777840 447532312 921559015 631359928 952420163 255239096 528787101 448989842 873784628 396559728 353140311 207612269 799726609 318173966 746713618 950788578 776530979 403573811 994645031 974622574 809628050 321205116 757576223 550498348 995791331 594275925 268531426 805484888 601397925 433619132 631230662 879445783 479553328 311883051 610023182 806110956 712093864 228679648 829865376 971739577 589364375 623879234 527826433 784230265 681966379 644176597 649242368 387740471 481386578 370726941 688677638 823684239 663770814 786991385 955689807 655153858 944952985 823180479 822765235 540248689 653035322 900061489 630051447 856950470 901703425 999514069 453555180 243718396 341437445 288436254 134801281 411763457 337364561 420674196 450488361 387414856 995480611 768328179 440764115 805536825 471263565 550085007 714692066 742050554 928541824 149315323 574119123 931386132 550378483 427415683 308239765 724057480 170359728 564330508 825708186 957942007 265182876 465869073 524658303 726903197 207494808 581475548 219281240 222295976 215651525 378640372 936030888 860742884 541470236 115029569 135334023 831487128 786646416 299743796 350017963 182203419 683790062 220010453 476001950 929445882 106049654 419489599 766932278 527712487 293911041 776290980 527276904 719835772 365764236 603793888 343625138 579762460 408180642 904698409 285890955 796481738 321588641 668646674 265732271 221763457 945714126 691019495 168995931 343708794 225298640 996029824 536893004 329725227 890975361 935381418 504826990 871144150 843446711 697911364 835715207 929257870 936201404 841866752 272213203 648592326 969194547 701733012 319729185 377299528 862612149 982678088 767208627 476089843 883590439 590438352 747483709 444455784 727864847 628979427 131235164 808927392 815822167 884076756 996225496 803701469 252967210 221888568 230655496 715340768 819122764 405170658 705227940 908894377 174108030 553937897 943922237 614045380 979762174 499101570 832625228 157107290 313559929 949702839 285280706 291923606 901037787 867259692 275876398 500375148 349008730 334843660 692277271 621453959 684657507 139489983 310210051 911056134 102235972 250861085 385648769 470448734 727090516 454193399 303238814 896472819 952254696 297877326 745289771 281902909 378038674 607351553 926622557 524591783 930123323 720103647 717862133 385354872 416165740 918819376 511845605 252378709 145006431 133682379 467868442 472384047 578867154 772802946 821817792 964707464 529629710 319351744 689333226 588639028 955374803 718096853 706221664 879227654 277305909 311541138 994219976 626550929 991723822 601720419 471927082 700710195 128832227 626205040 288914065 312679042 272208207 860541626 298189587 286809132 931690984 668164554 958640514 913711153 124272901 542294511 590247626 592259578 591970008 133144935 405838124 303535965 459717005 108596429 832056992 965094822 201245005 421350887 657631042 647507596 670994113 862455603 663597853 543118312 902688541 535848562 587172059 235627418 584083226 188176376 986885721 944073365 125864751 338305227 875732780 113630182 840452008 857719065 271011853 584703878 973025899 586408868 522286861 329427284 844465411 394853980 333755887 691271057 217946513 315103869 572882752 612495289 395025655 721994976 667242158 799290632 846474962 603163507 130654527 447055623 523702032 134411060 923964278 491913662 486175340 719233516 779331272 393486500 759715910 235286927 763699708 107488353 512343591 788894903 160668255 688167852 461515224 188020369 486402249 523209574 495301431 470367654 552778405 526976318 826762940 145349951 651344271 162170536 684693366 786539291 922460729 523472464 725533899 597672096 598956240 722237305 632909984 308727135 698531634 345095910 576609122 967368032 896646779 811989179 479838621 926661482 118998041 894771526 745455664 880663501 300558643 694101864 459822818 158212855 677522366 760924322 643125373 513340638 302692244 244246969 569332384 532247465 120339369 526667875 259095264 184364776 469302516 751175181 905548980 706620081 117550455 913436973 407221675 653411866 100310987 900836747 610860840 417890319 611906502 442850629 140428031 245682779 352646179 569846981 252355223 187531515 975661513 807945157 741305704 986678257 279663211 977019086 178712587 999824475 609109248 143898172 736515428 951669820 918664611 484091234 141095845 107658963 207554931 512069630 708042869 858760012 599352403 371584370 396987769 405009145 942821932 413093167 117420158 766397953 372837416 260992111 744079091 964201734 325381970 591091732 736025774 925631812 703212868 909410744 109495123 984852282 814795996 782103607 868303531 291624321 595705733 449390112 783958685 535965719 884257331 531340469 948093647 942911060 243647209 964558505 257565728 527983698 475103936 784691567 543763841 873070220 512943396 863264543 920936538 885006898 101324666 792514886 794928138 399476949 347390588 666624093 284766595 615247930 853091741 995273683 526722939 163448615 908079322 365804804 627427379 393702625 870290303 774381073 933162461 382655291 372925779 522828134 437115287 913309130 177538818 267404047 549653300 850482554 758743862 292397595 857373237 125893505 556477462 691852154 193569290 770484773 366760428 660520835 256938841 636060699 993791503 739605596 819832329 497408665 295712883 242931549 534069253 426933824 835425040 614914129 598894200 548011660 366814412 821825516 469085175 262050717 435429771 837420675 116670382 586903912 701427097 495192567 543403554 936616627 876401095 425725491 729854731 229359972 762478929 981426583 487915753 112373764 400389993 393459164 543170635 388361154 146828704 755074712 974451751 644443490 509722555 563896939 781146166 837329252 218713107 945616253 629443247 474889954 130495506 160561865 321794510 125860868 377738711 511885889 731986328 901555986 318858796 897835159 570169327 919940200 778694140 719403266 896184365 992767954 717026533 328339626 271273945 939572772 975534173 284797877 467319539 113444200 446160871 389720874 159476143 196339939 264880730 580842187 402431249 665301374 631480205 150553471 996834689 919308809 829454706 960046684 935821688 269939788 257151092 594266126 467265696 798595185 462864483 491255018 760243857 191266857 152173673 253012537 753174926 812827659 957247086 615796495 461754828 663646377 804792609 267379073 962001099 858641956 322734430 471658074 220160724 872255034 831035966 302362762 393019184 460098454 199760407 920627556 148460234 934513450 112434510 738526935 729656756 629932414 106725923 818462425 969149967 230697176 938140377 508447553 705022783 847809381 423662290 388792581 158703537 174103801 809513739 196387712 814644204 134107400 813699543 916428999 507788044 381557395 912649110 937232114 295437932 423080788 804645682 799730474 427481627 249419807 264105623 256878421 588351294 808966437 155358526 676220606 538387090 724606399 670569323 484768933 516097001 511105309 807139345 585544504 332294220 798140124 854729688 644095266 156507836 581939752 259623312 495125818 106909131 707055504 613135058 624846507 522556398 384376811 591776716 668537451 704335785 655686754 771605441 448121298 140257249 633939194 197477138 985368527 898396168 973327923 338846906 706959634 592580115 383768326 570171882 837069628 380080586 244058596 832654073 182254709 422071373 408043723 952543200 428792766 781952718 692672762 470160046 938782034 834799552 823800189 110311837 127830943 286549248 706894678 504208053 960891657 121152545 171128676 650060637 787793179 702659564 567232124 639611277 728926459 519380133 200605185 453605431 801795657 904026694 266319531 207777707 386895137 230574925 645770510 773609114 517457208 560574548 318427252 607621347 123618374 935645119 259951369 427887613 838585356 302069103 333024403 979547169 369683817 850989737 785029898 821478219 163871834 248802890 531638665 701403391 878870421 139581164 131979275 908861285 793187889 647929537 621812719 626791011 340391239 430610481 527298377 937616125 293738808 702920324 884614868 512262168 327224613 948808747 284837333 424118309 219061362 768895409 328939454 718119411 128085353 630129020 699333404 933725293 300188495 910740361 333897715 975666533 687477788 508855453 117240549 483760972 103266992 962956714 661860607 801915881 863532020 108910249 790466663 880527883 493333225 549707636 585253696 932947451 317373073 805342195 647014604 667248265 757921611 292129893 157769418 966363328 771587501 131561280 352619193 935948912 746511584 632235384 519816235 820686805 190274262 687357103 849282804 791503617 998039157 538833748 802763128 680117538 779185335 907019739 215554153 796698423 251260628 733374601 634906505 463514026 608266191 993376768 957914105 261908080 725320105 870461360 109500740 724419750 922349828 724682332 176811029 369323021 982684667 130329569 169209546 323237797 393799502 831740755 187017043 370179165 480549305 226742398 388807176 432294826 194388926 274654243 560031141 138739206 826606126 642462475 331333478 687412856 145751544 764149779 778115522 470756591 935618755 667978777 464070985 943975206 684600255 688749862 557553676 716628580 286118451 295936881 646976854 654979848 355452777 682748839 130589584 581637229 331300853 796874089 468193549 773268049 807031150 615465112 314365569 239293391 849167424 833490519 317893060 130290878 350526241 814321919 906196351 712214750 327077953 343165205 741096764 463432664 221204321 932073854 857934154 759718413 564555623 976316081 739347707 322022769 590378061 989804191 786659679 488753463 242592568 488869441 523849322 955176245 536789187 137641715 600720407 348033192 908517403 189579680 575664708 243415016 890155182 106752450 116957360 847604867 860627815 484279371 262519113 181317642 575331816 731462802 463034608 972534977 269682937 618681065 360766205 771724258 158720071 214521146 175715220 978735716 683375633 474376977 445147803 171640662 184514553 312497651 300043439 437609797 741739176 634605645 984746676 115166630 790078341 644275678 385151203 999841054 890596398 466644483 852730566 217815053 149780556 567238496 243189015 868537230 902354832 889903125 416027242 718192146 671683641 957576360 508618359 177243386 187470404 942372223 609496886 533686234 522460746 967335230 354694281 865088031 836483717 209298325 707416409 205995169 296766174 731940377 785347570 606442572 327525745 383346496 929138585 600142087 103828881 900288880 500814235 324264052 426654417 992580057 579342137 189793370 329942571 876591786 162899221 330184725 697466921 767574836 656714035 759533153 684313892 428484661 992779655 815403431 511294533 116793729 895548437 598694396 853470510 996906365 182289568 495208088 731309143 730064161 370893827 103604820 287192990 192810429 151142523 819073381 647952684 207246936 969671647 749274114 568480772 957196808 111629460 761273834 163832800 212767195 996227072 419972691 229431131 746365644 771867798 154732341 189195272 952137016 443551082 884132019 277230887 879023444 716486478 275589333 842985178 574925888 552092936 475752872 839257121 986087251 121757363 636573939 326143776 397930922 214943385 288464513 805892256 934741375 307503209 141008027 758168601 396862134 500853754 928885016 775510617 771100488 794460882 937096010 775736202 249136414 497740576 452236474 494812680 550655925 726290906 176381878 226023376 671257852 838801692 618800750 209035827 312271107 153905701 435009524 616197041 376116880 196839176 535678356 305423471 449910602 225606190 129530979 419987783 749549462 512800018 137839027 975649838 470165313 408593739 988375825 995352005 342340728 389873165 364108335 316958916 302677747 730415060 967743942 944937182 232822976 107132244 314231395 731518806 331172612 422890844 927734172 688703207 247766418 522422870 601570609 436339569 167683392 643666526 423899859 646709889 468472554 537090148 875457359 151365007 516446269 374558590 121780272 131424780 204554062 100022290 178308115 142508122 648373147 398478258 861657349 519389516 608962386 886009540 595977836 950387694 446248239 163822007 486170379 132819786 740053699 598298221 548930457 777606086 140734257 158834576 300122744 315304391 686317979 246362458 166453529 228938835 350082050 867781958 693243318 903729241 354656097 828471009 220689481 339302884 959032639 749347559 798268492 533827735 697917359 515537654 614839515 552098367 910746370 974254065 944721584 363298518 611576117 409647092 106341737 756746689 208987341 133431016 944978240 901277560 403931610 706873408 443832547 360096304 459109722 491669498 195557961 697604562 819454632 519053732 553226922 919968163 591914155 776418326 758415555 996594474 967237732 719657693 243107373 775400979 804258363 373963491 325762578 513714753 813969677 154851907 761282790 502748884 235477013 726475411 653861574 130961467 883397521 686047790 349698586 739324667 878537042 411128068 316429649 230607932 970599040 553180333 916030389 351536205 896369012 452888928 531318534 449966856 229874033 930388239 150624989 350105564 796502589 335506181 814006334 334155715 459480318 800850205 209043281 994260947 895110247 523133599 248232324 511768824 218383905 727230547 310325269 791598463 786912146 632459775 830331636 949112468 945345425 969625078 372489323 242016521 809229113 599680658 984090285 589355083 660378910 348416977 765222357 174404974 926253179 184703950 750849273 649248358 910120518 595348059 359342791 291164232 889947473 779066204 804105660 974765969 750007837 120106641 654716497 538923532 666614095 772140444 182170829 472452239 214868879 367513082 533434654 224507840 469096972 651553824 345350384 940390864 320223280 462757328 640989786 593597375 886080625 658366744 812568245 948060396 419251345 137245335 160909818 659086464 991844864 123886753 825685588 644463135 802401122 745982851 250141295 307843464 272504499 208418772 368252017 207372836 156979752 600119977 200004634 634052077 868716730 634366855 337883205 816863149 476275951 784175678 649356835 462239000 522137592 787680167 913628149 825827483 181580463 943859506 994858976 416521062 723609294 766351580 583195381 328682677 786885615 244277992 321520368 861104054 864676842 267193778 517566021 778979622 298823469 920497714 363369526 346756683 281607788 313716586 230476136 122665340 323841579 705558574 347016807 738790501 186425076 718321045 411245007 953750837 975946745 102045787 477182931 701979787 822597176 336976550 905062262 736021400 714653731 738499614 262900469 976066566 846562447 467334058 501946601 453352357 327203437 304367416 583652122 884988127 564136173 150863969 605457213 724003414 171014393 699285271 504512839 504376672 946993041 999326559 284633115 229587278 435421670 373726410 252157042 475368796 885814742 828904817 437081232 723079422 578157896 898804576 786310970 181432325 416608079 921725417 464931186 239023438 368510690 588334800 783794002 424297151 219278481 909211322 949315107 349441774 343863516 835332402 384299871 419404709 686703497 189591574 911273223 969955377 181607919 143934272 935541857 873873310 468019604 775403102 858660230 446425242 581921038 713342171 628554925 238355644 243988560 224475820 360634126 778570538 243614931 121876204 335886439 711432182 597967021 959729411 820962995 907100986 775469992 781401043 370910125 560974863 407295376 482415634 277558490 295051380 350549459 443441177 136981436 343180522 390766350 332138822 722579354 995075876 642576984 373700071 419470246 385709296 628071594 655748545 102388859 343160782 144662826 638127947 574441267 978198653 923695150 386331629 412189728 574566146 368095918 224474700 161358687 479848095 947075885 847678136 770986523 724785512 912281409 550958732 765698710 803501745 606382209 779590003 294121378 740183723 475866465 333804339 127879363 585519588 197714529 465558439 290353186 639590916 971417610 274850380 314819392 392423186 584523227 431634812 312792344 725046969 448472420 302345194 265838968 346397631 221040061 342013432 997739395 685208128 818073520 369745973 347412196 962144381 839209751 537796842 786147668 348865774 550557409 125633683 684107134 827942737 546768204 139446471 379556039 625411203 725433687 791337352 270808130 882327224 505455515 500332557 255103395 809498936 887329426 967809986 852484505 174249007 227770482 372319408 993105160 791548738 577340687 112334453 305217212 575227590 575948654 525755447 504840787 715661006 411118803 561512497 510006650 923573712 639509489 152007681 379961533 950468324 450325891 858358282 112585168 588594278 909701488 594541225 342369967 602187977 303530819 686870465 685571570 813903689 718927344 556708555 687905064 116936027 577345203 661965683 145956942 110752905 796007261 124317777 656485527 362464012 923055467 298295460 162056873 422417669 866724846 489549537 273362916 248345630 296850898 699128096 267995208 296153953 784540125 328763207 218417117 820418266 581702872 213022132 406335669 304297177 727903020 866683153 879379617 768502808 831113575 433776687 752648964 440067259 300626115 627698671 127714242 622687172 364659425 410567397 204404632 113132856 801918859 894757029 738260770 712830229 802335078 490517287 599918529 265292632 272428076 264883523 223568127 364238471 683303455 890834989 444907532 779941365 566055083 389288905 457282076 779789684 354399933 342750059 420501799 229649948 882388125 550666588 160090774 265155268 990896130 312565359 604290191 476881619 903517898 774979136 608642644 460260050 905356775 476004289 559875574 319246195 129453561 694935983 685641327 153268527 823916739 337654113 473865726 700450444 814929341 683562527 697273041 114668574 617909323 797473457 890805668 558564930 417489117 775744156 470312681 480645340 597991438 627171495 283755857 975404813 764843376 572783697 533264488 321116493 806944678 109624385 128165695 789682593 643232095 547804892 263050415 524520192 256503845 531633035 979184747 636726703 401913127 921828302 332380371 388939057 520054129 648308212 907905596 610974022 372100979 519688363 970116973 117049275 826952760 421730704 654983819 667166673 510556478 580201798 305436603 270595847 363227905 423178815 931417063 483714836 927791903 186739943 201298560 126207640 794341320 507429368 299792569 884562589 296387983 429844992 756010305 652819000 181717231 956012725 340272235 293239798 562068280 579964863 741537368 769366979 696657735 776694104 180967103 741648829 603193766 441757092 661086836 696141464 890726201 775942621 400201208 367788514 633682426 183483984 655975315 246589995 392370425 691910246 731469508 821832803 863251266 109451462 690752354 304431718 221386113 363495223 375081622 795039979 380981637 586856274 720755336 176464029 306649145 305136001 714300729 326155985 537655688 840792127 521266971 427665776 428077524 124251440 255937795 197464964 480466380 961531176 561217489 374032857 112021304 336978280 127668623 829407268 624566097 192708639 732100985 800636126 584418741 990803253 286958054 853765551 738164109 699160510 618679171 303377116 674906906 545834668 778010934 491016748 247392781 894011630 703035867 475612446 415715820 992066418 410771691 736188357 852932693 722959532 963597216 294075197 178878629 974781086 155321063 106080700 390673944 487053665 806746205 161174699 303428948 518942714 299603078 475678265 742553254 728757847 717659591 528355678 790942624 771898174 569843602 171936327 660112410 918404247 710436195 128604459 169565383 771682472 199045866 825025759 673822798 253705606 881620470 251070271 976598946 467913554 426301613 123234642 954695855 235200794 331842256 394629201 458951129 432439918 649156261 348779115 348851579 639063773 465281249 865079605 827681819 799392176 963673218 558098388 659396824 684321593 794978435 442282245 897249630 343040899 754293125 787439153 114415464 874834335 675292980 622744002 979762181 145599614 565200808 174269758 560498005 907967608 479057149 795956537 982088141 939314800 465129288 305053225 822003998 741677997 870252611 713269361 449192043 309162517 414894354 415343475 207835960 412623674 832622554 654804411 613948503 308940370 269802190 540112908 613750034 309031955 709925235 453917825 184597343 652791443 685834961 765322556 986778123 144870803 496711036 165133574 605836809 422505836 178756338 899212433 640332090 339405439 386580940 803789042 323291329 718932014 582410359 871139514 257869526 963058961 663028092 438079224 660984923 505109838 205079449 196999557 214070009 293892373 551211332 522204215 965517675 139055985 802356427 176664458 527374646 486011521 886169353 700763365 462353726 509067277 272207401 969837112 589858416 285298599 540860987 603513219 536309880 776129350 646844779 984257173 354439560 648409295 992425632 691931952 292589004 562484442 655654734 502179461 262947325 487568682 618619164 200723232 906195743 658450156 108518139 979407792 216440539 118906397 884445755 687321151 811395406 362304630 722893848 440904618 924801423 869493022 948547579 363883321 338649278 636221134 654939066 139079550 779482088 181460601 558856144 496915730 957254700 427371264 454959248 143245774 633178912 734764300 857583923 109902468 368120242 372679756 138384742 498107420 701064717 640641203 833661192 655111015 591840807 823807494 397671355 510472339 120435524 927850519 918835290 897534449 670335827 207392412 336660938 910217393 500699784 110803152 132764264 612309057 963270109 580332211 793732203 717114873 488578938 496444970 859149218 317423412 779830028 616571436 147498477 521231460 327187764 192635633 655859622 480232329 397426718 886279931 278594031 954206985 468465574 879570620 755007178 105518358 598892030 533562029 730574325 903315720 693644604 508889679 605821799 427823598 111127449 692404458 415663477 165066687 713491909 216932963 536090225 749211344 586443136 765553762 848077370 937773652 151481460 660403584 671691104 612760766 483280678 976184375 294624491 625612957 779110966 473063599 985680553 134525680 825862162 961571659 128865774 713910099 119484141 480393894 510925592 739469988 851742466 118747730 562789519 913419016 607301249 370718052 913084789 593787661 421891346 705336163 389355394 834205337 504755978 943618968 902768736 463196006 858001672 342495853 923050165 873179872 456698670 289812867 345374282 815753713 783973184 627654482 338015427 790265466 169592772 314491262 452485269 657074329 277400161 506439019 204086777 475993919 873608679 985360403 782633674 955422806 773896723 286669555 330010474 118267896 134761889 146913635 849264359 913543776 180055573 335515746 905269523 223135114 824632683 240647146 939880455 793833742 655726584 118066987 933063119 621702417 563897747 297147167 676066581 307685219 614853781 286218498 557605421 988556771 575207363 934798488 623948019 916226072 783747401 671341642 859592041 289558624 615440131 746113043 673237722 970435954 804112571 722690909 327628657 803203460 626976339 213794170 663263201 801753523 536810235 749322378 604383775 607294462 491917521 464223404 675372333 518276102 781767811 402693271 753565493 590802414 452354467 807241582 869760734 569993418 740367321 467156104 631790424 363350602 181936785 837946777 365817370 123884669 479066626 986832033 409765770 491655195 663836573 617649800 656995092 342489372 228700958 981150312 905718259 963122602 823550944 323382870 289426960 639310571 652275729 525111059 814228111 968105116 320760495 174794028 229797769 480367637 471129657 180163170 363355902 405123881 491005857 517075872 720813794 308189634 286541051 482643328 630714700 230928265 707318128 483886741 514235521 742972091 539683034 702588742 522282153 192175125 113307247 345977830 569645186 199526653 122762197 205105170 365838812 292794159 665047705 183856254 902579119 161981393 131719571 185316660 348062976 522986549 813384698 404946273 167774420 535079804 378864863 687645659 382047885 664332785 991164542 557895724 818764205 336544778 678276486 816227303 472676502 640449385 417984671 628113212 800278783 991518637 849502745 255271085 762690065 226844687 596405715 683661645 612086855 419212794 899225836 582911530 351322945 550254813 221738015 409340337 358416696 123221902 263321626 629236208 971094534 444989872 472455629 349566287 634510838 690939486 682872452 729681264 152559287 571058577 916546957 743376265 241047918 443198873 972560277 880545330 564938713 811900990 638362183 775966994 423773113 698711564 503090978 290197487 500464540 873551909 855492067 487733025 853562976 487170771 607928708 774770208 681771326 185356097 948789699 983017389 558860489 835303179 636871697 269027586 866403023 491339815 393199759 638402586 326631360 950298001 577485234 987804030 973936471 686716072 383612694 576163313 166578897 913782726 840711423 855177178 249975969 368092961 947937272 265379174 583961174 163424571 528440639 476850090 132156802 758751928 860592098 101258088 530035901 470321747 220451670 836430329 206467243 434271821 496802578 130972212 791921499 745449062 271163202 528509764 798402557 790793174 737152084 818774973 528362333 395710216 863819493 878864942 300779245 363013703 932149803 474986048 271345539 382697620 494477768 969964449 753873510 771017858 131282278 738426682 890440865 912721777 974552206 953845016 763599549 536735806 131355556 296613300 269136870 868294371 521383395 116796148 356005120 806163151 287476211 777859951 358889709 907725746 957230573 211986029 584500000 378933531 758378180 469041667 228039083 362226532 649103556 541766450 576028490 696545580 703231912 700390901 528922087 924799159 872324514 772273177 252705026 512868592 471220102 692687483 628624202 915264526 481910277 713578913 240736445 245578468 812106650 217875408 387395414 357173816 898859009 214465167 709107915 884798195 977932669 466421425 352778748 700928405 264554085 937876868 937169366 772343145 952319515 473041735 876309665 174745223 466915702 689001126 447230930 848524689 608966337 655507862 975145204 932471129 136358521 964843377 264451264 369476442 913114601 565230750 871693079 695108682 831154367 944814870 333847351 107524789 571363518 752749642 890782404 341860106 697116378 640096553 866093478 869843478 851529284 669942863 785285595 501853201 793939739 552647512 888712267 615716813 868592862 535592849 515044717 527502328 320510123 840389092 255918114 433839501 461804184 905273305 546757495 137798557 808674238 970300495 738561421 854341727 474612891 250967166 500580317 501502361 218797424 121985446 403519985 639646025 866001634 965061783 920065817 785806713 861801831 611800912 529043691 457461432 118594138 615363880 554538361 248796800 999938410 266258886 274539087 426186197 464504672 277525031 159087028 310137055 531913849 775356327 366802353 722461151 620013030 405868573 566310596 283748677 428388021 844927700 748773111 111243328 499632543 919462688 383563954 981617909 827902784 108799404 540751325 218043651 886283325 901759910 404010997 390827186 940750889 757347730 689996578 407573032 413766380 785388642 781536478 356633078 790671879 659783855 833937330 941522315 179437670 637193949 472337885 869653998 466930609 355973197 115203303 423490273 338594444 445059569 174975743 974544074 430427606 884176854 398423262 963917440 130149090 788880098 161610516 811457562 132579695 627700089 773841355 459099779 254978628 722029448 243472504 734046289 615633231 739003793 999352039 287570474 275131389 995072910 131472661 580270821 758153640 863322960 149706088 563012942 294382763 960402280 278859804 222059326 778445435 156546912 266572355 223309698 359660055 298691828 392355326 573181554 306619663 768485233 228085985 797123751 866281988 561530042 723097972 234820096 617527859 241805468 275659582 680133825 324762380 890330525 968075957 204381319 947999890 994635228 550536583 995880420 638097119 290007999 817716795 455268155 697693200 929327496 633295167 721016059 300588043 508372377 267913659 740698376 541519804 506343486 651080974 553514176 742939390 707979467 223350647 635525812 418932105 571539734 406762455 644672747 286754526 976197939 838169456 415213364 775705968 779921249 467523238 840516373 150421928 549716808 167857741 297991771 951697532 929914229 721020110 421934594 935392249 207317613 460082957 836899673 685351015 833689470 371966631 762948412 209822311 934676789 530101644 497410291 331787837 312731213 849143398 480940395 569662321 399198033 419097457 859390870 783062322 286544564 446148967 104752965 857486996 466503384 516190181 125542289 981699985 528848014 702413249 925527887 741001267 312838857 384399322 647379623 252158373 117457498 905380722 581526632 599646105 339455531 933797396 667921686 733018269 919812437 896047475 172727172 109323212 223118562 569172410 898885425 825826476 952139102 158033196 690939545 434728015 741700897 500900631 610175181 816987300 546414548 445152838 156651962 491590608 491493730 502956092 360974255 165262243 500688471 228827026 694270930 865007295 977275153 891964572 290219441 732707910 269856193 981658285 864008537 329762172 427946708 906922053 999517743 337239763 860319020 252800217 116373900 341544605 342994134 601612961 612060558 233744903 931101327 949168523 940613770 870851792 119450649 913756561 538593698 202657750 203964368 233176013 326706450 919012261 141534748 863572499 480262739 237374774 850107113 810285312 972519638 789322060 512508828 483876851 575286974 893697294 535191872 901281682 963677896 234876822 461784955 634704423 208811778 376655142 703803804 615099517 508748831 613828968 195932962 251154861 252558942 314326625 118831083 348880581 904311594 456276888 562915466 401806384 297915554 294089861 481720314 371808109 666728841 850530539 527907736 609138951 819511513 720904040 562434886 849385806 402054453 739541054 171436367 245742217 458915501 273182639 585129588 852440615 803747032 623117653 790862994 787651802 252779059 399035488 385549274 175897005 790088419 771046732 604689265 322932462 453926579 922727378 793297936 706918339 894061599 433918183 796086299 855541846 456846044 299878535 307868600 550785555 875269834 859052013 901736950 374253872 412332011 504396552 810511411 725868694 216152764 576952292 733170075 676975093 364202279 181735416 577277502 647507329 873859702 911147431 837124023 763393372 848837174 114340951 443425224 318257481 443224745 393743820 640133369 128410638 455915531 249425316 939636214 220061612 427117603 565363230 252953615 648441999 261482176 760343322 162194634 878935737 169210477 890771430 752099828 119443662 711905816 734928385 733631775 680820032 822981235 773219528 132343406 872356939 194710018 357654915 452044031 365927185 328239048 832277203 755928989 528284063 588598535 186395346 260772284 357603339 286745883 953880364 444683606 102282607 323929714 501529741 179290078 711040478 804212007 748190628 516020833 160058287 307278967 897154222 657212294 847903326 674770238 650533103 372580528 771843416 848976922 734686000 625267098 200337200 888647496 733638667 326625956 269697060 777585395 600093893 187190761 951975767 441793384 899075798 924148306 874923173 677920620 386853979 141291174 297191788 759483692 690009369 433777025 202713086 137911413 766438987 533267425 822832502 321343554 353314080 509260471 259788576 172598994 799939386 780893121 849928509 189194356 520344323 932977315 305121031 363071933 118676729 536439208 425777115 924819723 249835678 145590892 529682310 595741919 882284381 875471766 112652382 490236437 197234571 693843749 865269973 769223841 452907829 503711934 633041793 724078253 566696339 768975754 412810305 887974933 712085090 615959878 680808811 160644536 549162234 972501224 301107058 340180163 928126156 642916646 515497261 819813682 653254242 766226543 169748524 536721235 868310253 242681451 251599133 676269179 671501973 276194472 615480371 371962886 415249543 353840182 762180414 478346423 286595036 231596627 356697753 914592671 660072410 748083649 546447557 142101991 197504459 388836215 163051880 499285894 472019425 831879051 841435745 220006665 187210663 589962223 626157907 849940401 302877399 694344247 457525724 399556424 418825881 219751733 999693562 146340283 493547999 854246753 598011098 595025006 306230955 647038189 243188666 965719441 734341741 465159710 570995079 317998933 914715091 406353595 110892225 164265160 913520955 730028755 561947793 220286409 306295072 136980802 219236155 552863130 231117098 758325980 872924944 916273867 907234700 937707174 321040929 542117408 241916546 198592969 956921503 237689363 448595133 252529279 226693804 842167731 843976681 731123386 882676935 379342522 487882567 261092087 334139098 990559307 104505609 529803923 805378854 513891699 179346050 792144148 782630961 176687981 428976523 500893603 490647891 583233116 609810110 804377084 111537320 800220240 192251923 880828542 346194640 941729757 807229941 715368868 796506118 764663205 694949399 654955652 845161934 367737629 483888016 815588804 425309590 584393649 507638641 736820936 928993923 864246352 162164201 980336176 293732043 258971091 598952662 746708488 929099223 169442743 275043047 723227206 295139731 949938554 670667480 603964386 338121135 595736222 723261859 683944013 826360785 246277265 659977512 230193253 100295667 804813261 137249765 923939781 272567809 827630124 873663029 294206972 701688059 622134167 542836886 220724387 830277482 553301286 188110307 559059835 841433325 529461414 918819560 157542764 959499270 366841564 100782515 175047423 176084131 698221697 930012703 136998853 348906901 534510983 966009147 320234990 602921855 470371212 792199118 179581719 662134720 931865508 852588277 954102864 596565286 430583176 535308853 150950102 578265228 109479712 707499613 645064619 879481579 374625200 927251221 272840826 299992072 742435893 132499110 857747888 421130327 607984920 404519456 840134169 361076204 269355779 128124622 696649275 584949263 383763600 532410548 664428669 595366375 962458339 914792238 495760416 820245528 865624739 338702032 180564274 992865910 873955256 351376646 694813601 892434237 700657442 999436981 305146979 733356953 587824480 557734572 620038881 302246193 489942412 395844815 263677560 829576746 356399326 526507204 627234936 732812403 859909830 532317169 840468247 361693740 801212657 188199175 596319029 290694790 565615104 975454317 211764404 405131789 573834322 757608848 703293419 290041445 786060457 639878754 622435462 209906050 645627076 393454986 707740250 282333602 728361058 554465334 491089493 657103006 463667997 419011387 213503053 496904894 311630688 662879945 834953010 121575034 709940363 530534399 921738617 480804497 851414784 302590456 662983499 717412292 537097694 737033058 168023745 206792392 892184171 484942584 193255241 126059413 166474756 736566275 147629993 694114166 661422108 649790314 267101786 126611340 472601088 120888174 507454113 171695184 754512499 660279477 973084069 158955315 695799983 878469105 789789013 530823887 675913005 914182987 958605018 615921406 118872827 142025034 784990112 896138314 720907274 442946299 774913076 445418503 243438933 519406518 317058500 750296169 108726164 909964775 370068966 242294493 923740450 301429504 763808565 311395173 282076817 825926273 143421021 191283721 370275206 290881316 725027691 617075463 992255976 412289395 759163924 409868186 193732652 338020513 959899290 796949829 829077732 389975529 925914073 951213049 465640516 513861025 921547010 618637508 825361279 260721733 916292281 122704229 695622771 578065421 164094880 835311546 691224319 265682510 261964381 244481577 300895430 575869041 522892233 207403578 900616824 806381193 736312905 708822633 930016763 224888985 687013136 534352046 366789347 538687713 337959232 840731109 975564276 199297769 196122625 387921321 399838419 907447690 183147032 253792112 410933777 799013447 906109926 766300250 439928679 182838754 779828033 229210577 607067275 808021939 672104121 967119696 175812793 283455354 862312868 214174134 122840776 517317610 194529876 939308131 111226874 973663554 844456363 767152125 966859321 565856728 161261418 680625563 200848675 916297437 840947820 752140665 863072574 772299937 835794241 727254970 810287108 396101816 323261175 324803239 367980641 170604664 933133094 683805826 854686254 566752826 682720960 623185410 530810884 505343608 564128505 283957139 895226558 899254468 145206718 963923327 540450897 303341874 519540134 301422830 709324619 694258689 338469222 603255419 479666491 795283218 511079975 311381875 878657333 110439777 931965932 904378273 136292880 534423603 819136709 865948889 486230410 883591776 682995717 597620472 723028269 675825562 460803052 117398775 784137438 694338637 693959362 664505723 215160805 548325003 757322563 477014331 682573818 302463994 300308316 628725712 181709362 237178012 329082862 234774126 999565201 505599844 948343310 541556896 540974705 665884315 445708350 995984183 524828749 104681500 263840110 244536381 597152718 846986539 547823169 708441623 692038279 432250400 465360320 628230410 617945091 877621534 756159972 620930387 172444642 916950259 357350341 592696478 526496645 214698679 565612338 144769589 571634674 846111966 305411657 226715347 556004752 857809374 811467391 240951383 999685863 969316323 180741789 343823813 498488982 479093745 306054084 571771371 790319652 501410412 682042376 667831790 688279193 924471852 591346128 207390816 456885836 593400805 343028145 415947433 108649382 142386528 192602865 642678488 577304126 487659331 477692326 609002219 887014303 733665663 664053014 430773616 815477282 577394265 791021238 630578205 357078155 244580009 114791295 879954413 648715005 209807505 683852429 598987517 901723240 357645221 453033748 914871530 500374839 326425001 965574047 211834884 619726847 124975215 495913834 907965485 734761276 880846724 517177014 600147865 549221541 789173867 989255271 464606980 879140947 440600218 661174909 729574392 728117430 720171990 681594832 856333335 561358561 423005170 937564961 577091412 701094757 490210732 841658171 148013804 389684351 465076301 597722046 504577905 237605690 385586365 645188311 520627925 763271912 225243080 950333531 772667260 896338792 329109701 112686755 133687767 129997060 923271806 548802946 603511859 836362376 637230225 470796011 151774119 976925239 512437892 983224044 584400055 579323404 842816854 488704403 305151874 373830411 522109556 849408583 982299114 598912518 902663111 859602342 330744360 946005982 684040988 644341457 894314552 716359419 551175923 804361189 533163587 558752336 682691406 296378720 848807096 953776505 214964739 927473267 216981912 565022284 989587483 605451871 549429378 206694037 431882652 116452942 479365128 567265031 156171451 851516816 631611536 109636948 796701490 311849598 802186185 813119460 322175388 990102849 143761728 859639342 735508333 643234773 364360854 493428535 114635324 491144350 467423002 958305445 756518358 535428926 278521986 276176042 848420987 321676455 481296998 894396339 688309202 140517349 879885598 885140965 119041302 959698855 797970288 284336068 671867295 702853033 644083189 739881456 650076263 807636497 840746695 458367579 179323766 230647631 135724774 896334524 877365134 456502559 493683224 180881357 373219967 931548511 520752037 278753568 966993071 182533341 175223238 720942150 871660074 460988877 706362599 919439433 770018591 870317141 855937288 134615813 813142286 541312213 602306748 634439397 539655655 758558652 329554836 775981156 329065449 522668065 939197058 766994289 763166116 767720886 890538863 644792520 172980093 522967458 663843995 463140711 352261619 739890409 632501571 719775581 483014307 764247808 238871405 393540013 930851488 886937374 892418288 709438489 442312928 950190618 432022771 326606945 303361371 508461101 606512074 744011963 185580966 909130757 153434091 176725650 896349328 692170726 483316884 531715497 751970226 196048319 509661636 336401207 209493019 994167988 993540868 753362410 878420668 952790369 724620993 483714797 184300042 602243491 835840199 542239406 467821385 442754792 627857172 296339745 857836064 412227491 677477158 585611893 573874264 781936216 161648882 999109499 424194652 436053521 659118176 957139417 344236625 435548325 879448669 171444368 544438397 394937589 677240437 899974459 670859479 748242619 727628981 151666082 199594680 630027869 326568180 103954857 320972814 930264200 702684082 921812782 929337040 637252810 729902864 358158637 882786349 731564800 786649501 322059985 187411632 204044400 366063227 220851126 368811506 566447863 507001566 823771227 198236184 851012215 151162603 496856514 959620728 450280554 365828525 286500772 105763786 351428447 265864402 814460895 602333044 144130487 506622833 435437351 205750528 315908427 934142769 519420176 308381185 442917384 781516629 994594449 556825792 481596732 953400749 307595064 513452738 400282440 443783724 797264887 252719700 176788357 455460215 234321601 511309338 258572273 316551951 286492082 447360521 394590990 403780951 679776940 118285273 464087562 548742875 339364483 693164307 990372311 324752141 389188346 339746498 277457483 180565855 428810756 246478824 788826826 215321499 406913278 136388582 489791092 831618056 636975678 352499781 438014162 311830985 155103424 839622421 999600469 714855870 807289212 695397042 906518649 296604606 498821263 841799640 596259042 233159726 403764434 980701902 636799175 756150937 194863603 361669109 591937285 893855374 857925203 534014231 810113708 424831640 248308020 115554679 649259078 723248673 477435695 980802349 197305701 461717414 454310076 693343481 262500158 567967164 623897615 877458887 995127579 732733232 353696191 618344770 412119985 896663745 141996380 879242570 689293628 877689419 488520442 227715297 302687121 669416252 526183584 655226065 715786723 770255652 876513621 970918505 663423016 435628883 623000856 159518842 754156194 771430973 257443083 849261573 538324281 354334341 428489519 727797801 992510984 997907776 950569483 776679668 779269107 357536528 546117722 230446811 347358179 785381513 303760135 500413289 426850019 444743947 687232825 236788176 322370456 881699308 927746478 958661331 768654978 925592757 767171744 619185354 251670512 214166501 859886557 211056644 712066951 867166703 334646728 569774055 597066790 902990023 743708599 371573616 191150820 745491940 812829757 684634956 975052240 963320862 325104094 540257467 389687365 953596720 489825071 117967353 395244564 904782398 784020374 918638803 902201356 633050275 471356272 869563042 196792965 669267967 672729130 535546297 605759200 731338340 822843196 706659836 466231710 391833946 885978603 962024121 528373106 129535956 943309128 552452029 922812025 231905993 381976927 669951339 350687889 426711164 698975176 139538086 543014592 229856214 480041609 226023034 100044467 169379338 154299051 799087286 591102284 745330248 212275424 649745743 512854244 952686244 405529223 966851750 778290863 958648640 631642530 590452969 369501272 899060503 216448729 665270528 870800863 657436105 971280891 236247354 437616271 370682567 328960019 793036943 849264988 716412772 555622955 611975620 329840743 498703886 376325656 490814535 807601754 389979208 140862709 546945741 681136005 368663365 111395810 842346277 761587980 377901868 958142932 214382605 841861517 419244530 214678422 367565848 426291791 910850542 103330059 231173685 809851933 504735127 263749762 193376635 534355986 793308594 336113197 222223800 151175687 871176013 380723094 953270279 763776726 290841795 478404563 195985332 777372689 407352740 701988492 872357216 431198913 562770390 490934443 751506295 690870463 298951082 963080048 391314120 631716846 828477395 234041298 506578812 486202376 992307075 147744648 750985757 363116148 635501868 222517227 313395659 489589458 420931608 887977431 710406622 170466686 747719462 968819971 101275086 491181867 915235201 119540173 453451612 850993122 414071278 161419501 413365348 121975858 872871306 134251578 934372579 170635173 359881837 638032827 796560863 611373328 916602671 104626864 415329663 109393756 258417803 952897816 514628141 915859595 296340619 699647106 714597609 717742705 397241919 313287204 213649229 587240952 907241147 531126195 130577597 295165949 327936264 630955193 253074315 684258512 696209082 983215150 879445542 226935130 547265653 659842966 459077105 434181222 955193511 831228690 194345430 645896714 620675055 886637267 649514689 100998835 317152629 889092380 218045366 924505735 768318410 319995412 397322961 121595379 488382480 446228849 322271014 256420213 115649872 125903616 546293437 344570095 936441559 548351573 712798508 281840047 313227849 569929715 602302926 389847707 942373753 290771923 315438555 142869835 540959597 841501376 621773737 926182984 466064847 592107249 282644069 433703242 995622974 806753352 239641511 676393278 568503363 409362809 434945437 230760665 171788328 179868204 345565934 202533894 463796800 988686044 907169451 613444060 722311536 174802111 854536214 951147223 688329569 546692931 332474807 328841559 689860004 900310114 253020706 503622831 321053541 481824539 985888811 796053410 490493253 930260735 407899983 322313752 319589996 747109661 668793685 924096191 805702499 630383782 148093700 423218377 708511593 693685518 176914436 379822297 200961643 979255072 184321073 884335407 619462182 700827049 221279655 110634632 972238598 841067513 269639058 160879596 813192966 611298923 876482843 600840119 192399235 179000956 774639429 278537153 593974703 836682851 682754336 382777541 109629370 404169066 995817855 909875430 937690868 635293147 518279564 139423788 258738076 166653900 427336025 191334319 538966677 307829026 963367938 394200550 112132663 333916333 190951433 245535644 484976065 386411160 151153259 807408710 345700488 182309541 958166007 941424303 885153888 782055410 427954465 394817424 281312129 569625421 181177913 684285984 992506727 406442006 501776391 613225090 137366614 842518197 213129816 241699866 807067306 295604280 343022680 573985100 504103614 492224511 698614903 504028329 718286546 465434933 134695545 475135241 453393096 213781178 474589993 516945536 181293132 336404795 708469169 547869969 378116582 951182540 391006826 904864690 778531977 387361926 481808736 832763903 590864669 935386087 532720180 213604466 277635314 519165286 991489330 775096192 787247069 131933181 239163988 555298739 234183817 293258803 926942408 877069606 572894668 152289276 313645957 253289569 246902237 961141636 230588673 306112998 618694674 875938759 190158459 315185274 418486177 765164953 139824077 346384532 620597126 266387399 907492679 690503449 486910276 873751928 189813511 511270595 205504365 180757437 664312735 160385841 669722239 540012168 702212929 796255218 636042206 543884144 109660051 736439560 634177280 754213008 659747702 457336355 194561044 412067230 894118981 667566817 786383649 682299528 423033543 726560938 334545040 359347596 720844269 807222496 452888106 177404239 697587738 569681120 840962077 875939289 787377629 677047462 113790753 670965058 770930629 554819657 667008801 716692439 906955371 917721838 991363724 164563040 241874521 654146319 720881082 943374289 332054624 748713755 872999963 438660142 337164170 948323621 688120410 620875253 426994413 606290308 478414284 326622621 727871109 323160081 922212419 532737860 131366888 705293954 262975577 276291240 546221342 151381753 601852612 199799162 244814296 303999851 399289460 601408417 564527300 896731784 962419366 504574271 421800751 804782056 970895423 431178663 760364740 930985916 292658898 991553381 314349421 466550231 594763183 715471592 132121537 675847883 314259749 268548455 500850917 454452277 109727764 139388628 496192097 244022125 818499827 872649841 762319805 364643174 598378847 674688250 607812657 701986736 604907449 367115867 868964303 715965906 265771332 495092579 887110857 905779226 865573790 203518396 577183243 698274704 671665362 626064698 418929929 687859575 598164624 360124773 726221439 778983648 402909211 953400985 184916556 970313943 200484954 709921780 517066874 645405101 222431235 140394272 945756261 749844916 755379869 828713662 804206732 335459447 957171330 703901408 844865298 530038084 844230824 765777333 686689546 771427476 440783490 274034367 308307264 191840259 452087427 973556412 526599599 418859553 717730742 261719766 537156998 669729416 658348266 443269864 962562053 256363873 240383735 716206567 470056986 715172482 665869864 779769886 533221915 220228995 172346168 641756406 539884454 822261455 117550704 603934168 526230987 136290998 384406245 398290586 853173296 403259753 539418466 422217314 683986581 447723005 972860466 346587767 356841234 854069705 586863480 922121661 494753438 435401139 973789058 706244031 229163647 360222773 604652196 933616524 116658445 783969824 467927291 782837254 426960281 700358275 746818002 935469052 638807136 344417749 441448429 940517158 197096947 634689794 517739656 108011248 411608682 600067790 640695593 864496194 789506403 184227619 697603691 401035645 460075387 734663275 246365504 293115950 505809557 611895414 572627973 680593451 722375734 898785203 654682751 377637331 433992837 171342310 138371056 194715908 432833729 151404971 695795468 240788810 802397110 866940112 254495839 419653983 877990748 164444197 630344901 151510450 944606040 458370693 360344688 696566678 252754475 625027751 490583667 737858325 377045824 793726514 381501536 162759197 951109575 977236372 609605595 779735120 761102763 428113478 985367444 474015767 250467664 194031526 254385465 562433893 700095815 355548403 323136542 576950626 441274849 232670453 694070392 668383238 425379927 555753108 836357121 990171240 755428146 845434133 741030898 265750176 315836389 883366336 994979420 345068059 608509680 988293973 108457024 279652056 909510297 683720843 237719359 154552799 461042643 290754438 992914348 744213839 335118011 286468874 961803478 232630608 766260156 840710518 619132625 426737399 524096271 267538119 293820554 856356553 665543849 571295757 439096650 593369637 832440380 449629636 142625101 275808462 589341015 291815458 560740122 617728360 359314360 228985334 831515473 456747344 785202851 730435688 158355228 575961841 567774378 156572952 503221361 571258584 883957215 641945996 876871727 779545462 142582362 420129748 287335218 919465721 688582974 584687804 868499975 605968860 212860135 592120692 534691856 510762186 216947402 773424800 784029207 571860785 653005133 790823225 377884591 385463836 255387832 377898901 897187747 814330797 406141172 638200681 874095978 281599396 963261387 295349160 426995816 426832246 981608315 634612069 412395183 489237237 510302752 433142450 340669752 322037263 296278243 136819414 330987898 255889578 749163077 537104205 614982578 574585434 447353366 240644822 285483446 197502805 651610983 763382376 892043325 587901999 173139803 719427201 811386774 610162542 524387020 320103929 862355553 116946056 555281961 696201004 517097211 215212440 530670747 516514455 974840337 590457872 497958543 502449309 787529512 248849423 807683443 710326468 111589932 671821814 562320733 980119689 707896130 927781040 968878490 686615872 724060393 370670562 313204753 857346168 508623317 130535277 688032377 537658787 726052488 589867936 398285228 502891956 291116654 549836252 801881375 784458592 688813894 355142622 406886062 738326108 554876206 589241053 683250397 877634593 869567216 261987840 897747617 880696797 462192235 774576737 361930170 649666655 291677018 644514763 614096205 689243041 521763069 914303400 701633728 428725444 210093507 632362756 732874312 447632054 846394337 875323407 608509985 817159460 795356732 890072688 158645701 782561674 734023540 221326779 278120360 393561366 287374224 479558043 556274193 898363446 385665479 156077468 272701522 586152401 404761764 604878566 851972902 598321613 537916874 915509913 528864014 926484567 375154215 553862406 663395612 388722630 633653671 887715744 160961238 256136519 631743406 351590175 524898115 904972772 101902674 247973314 496600363 279777461 109773858 831523543 733662116 324056558 706719784 824995857 144840878 183295584 249947884 777874526 267362013 209330274 606819170 581532706 672334136 305682054 226824344 616004441 950696299 885073072 185857735 767562923 489895593 700044597 327059866 572351060 573914788 127678335 858410336 845948145 653390189 754688528 190571525 821184487 463048990 577465037 347351166 246450936 766297012 135950528 435916992 918179090 545211044 391518352 139023489 923548162 888327210 756906491 117518496 827543051 575895610 820860031 585125536 266634739 647088067 321583348 972834957 766321646 754572313 262948086 887863559 747663847 676838896 693774947 452375587 972643262 252942121 324867128 675006050 650988767 460574105 290689990 138153530 198693764 119474563 958568857 217968076 938299967 933937174 985024599 390524452 426215638 345916888 781115003 756965055 273219723 537838205 754335416 860873545 601398110 985603822 698975111 424680591 483638849 777851018 469182274 987741704 212334401 284976054 835802456 731052426 215118813 342139292 545198643 231508000 814199361 173745838 305581215 315647193 259534964 966256024 553889191 787772347 989854981 674258366 344563264 683686461 467438656 985397326 338392246 864779163 912567025 397330739 240002672 229207529 116946529 857350076 187275140 451884047 802003825 353386220 358170538 422971894 398887043 223878822 230819464 447295034 123721928 163696214 521447128 899195136 411969062 564698274 749196259 604297792 890437244 719475964 597616390 750586257 645832601 227700630 345175723 533972655 948535630 688340283 878900021 339780987 669752120 601174036 783659547 744791876 866458345 439980613 433914921 929147180 123657783 880714284 695547051 935326650 766630104 933531096 642133983 350487183 999154605 496538625 545701438 370874947 249385452 604735855 266746629 298519090 220867729 921329890 818757508 477116185 843428128 973075647 895879838 212123225 446970150 358445644 333949202 689291515 549330759 110974085 685290182 413562689 719026001 477217033 800569054 356688173 490629154 547768517 536694602 658351724 972516972 558164704 834299760 115413707 624468781 227204074 495249610 747950223 293195420 786715904 929397030 858886392 363443387 632655070 944592785 295465290 975144970 568664983 623973678 232844875 799365136 374861050 292939409 902673970 995915853 953256617 593221515 101580180 375645548 154613522 256621028 859504597 998741719 171636702 146325415 599849497 348904832 502413219 629498608 373659018 105036979 963630836 336194214 911316463 687414099 996587916 199692137 513029536 767195579 687751871 275293472 657808537 317319045 864501049 844277230 862878456 924891779 830758132 418600999 928214525 877268527 494053086 907581863 889296981 361385113 789885439 420166946 589327694 357417533 958526512 536417818 788080857 740361797 870385735 288299539 154153442 195727001 118031044 664638558 304403709 838887127 604247276 932507140 895675364 438319202 948172546 746347354 666593274 441830987 495421004 538263193 377524929 440219855 283739015 656513528 395485356 482418507 209195843 954937538 266208066 426442479 281907050 238960643 663682683 673588760 898005143 511150916 388823980 356740466 554302343 577800499 166111194 120394649 854564061 899558005 839988620 824130133 515488650 889752614 582069598 376256857 253875494 343414436 795063530 899156044 891028184 802155056 705280071 492916393 230590540 655856305 528719213 937414639 935719691 406418565 178321439 884136307 444288509 411990219 993179214 508671167 469678317 894646543 445137914 664288538 226745301 166576730 874955471 271499087 947363518 523905877 285590563 961972077 923565535 463894296 213514361 997897041 673122161 174828442 515853114 593759377 372285903 393677528 695623822 434449509 362960439 903517670 384116555 956276645 654903195 354133389 899536659 369695310 432208310 127971702 978776343 312906966 724939047 461735048 948825665 690806484 731398088 157014763 646701798 739502269 683293138 752273920 557912385 370923339 174719883 288322503 987375958 632081176 605939522 256307209 609179583 940712430 117401937 157043867 764874645 677385126 578679787 330988663 775152691 505840242 635063540 435948188 800496014 698554132 611938411 567197190 753281020 921067543 807786007 275147035 541512407 265526571 606117419 757260245 646009620 332336363 752987102 982734044 916428351 786408902 293444086 642358200 525432552 629618464 915846884 342546064 630851777 312281520 466165241 299715608 581236673 151976823 481007699 497930077 210809509 995048327 941459231 317093711 746414948 886451047 192109763 651831846 687149527 746343237 517686227 966607459 863225857 439126099 118646694 334466022 947687094 383820623 816662232 436350904 738134626 313759984 868347279 284333610 958801853 558740539 246950388 539696332 712336034 728558222 569996943 610291301 510307368 217094449 308467381 999200529 792586513 285668538 915011339 311039097 570606325 699628156 437244362 158112193 174704222 204568789 270287297 437052203 990351022 850582920 975438660 698815101 328326346 608696160 559451542 250244040 852236148 795943342 953037223 446659078 311535925 169124896 683999884 263432873 936775005 406334809 584909750 100108481 711389220 440428515 664769778 574287840 866097576 165768766 271221603 901814418 712982339 399478040 923387352 639494835 423594513 560707252 902963093 695370536 773882477 961415975 659495483 150914287 966301504 881452282 816746137 707073290 618806644 107296032 452188549 777478283 370309561 886153490 401440368 819722299 878346475 451453396 169234367 861232278 391072056 940252052 774443817 486932151 989698489 537307628 613224925 949875165 928916324 747052082 373498405 847670139 676685786 244772862 584516021 690357108 359975304 403115728 306426814 481382065 373760190 911585421 213626697 485892822 389841435 162099041 597146437 307567306 351371851 335288912 655401681 844180562 885961480 552325024 311523879 139609380 726700417 421899537 831688983 749730135 456811321 206064765 358077314 108223892 381412314 674302914 560623765 230729574 138319988 198551336 931775861 796249861 401604341 412305167 339444583 303376082 437540556 294065173 217098822 815593837 668809523 206687172 601556776 350958981 556574663 938569608 880466144 149025047 690537357 467887789 472828560 549990829 304108926 463938693 846126075 462118023 446519630 136363955 524627292 868898763 397743953 660132471 714427257 686707551 979467679 976715301 348232047 468770718 705983066 917669996 257871103 237615285 456866769 144509236 463522636 909015947 499312386 742043356 722904552 374726143 388367304 637932173 170013436 834352867 813972454 406169324 614357936 128204973 582813543 250320180 424083581 383734438 127168673 404870619 698275265 358930114 759162021 758435993 775885345 697031093 798251118 494027691 119346784 116369250 903593923 739605461 729456396 767591287 494238050 498674269 457799948 563020682 982290777 947297713 462816703 673051821 767133113 408410308 134124437 775893289 498070250 612228253 315167773 851833348 143950424 405391086 416234732 848682379 247125679 685317621 116612669 743088606 751154246 898077497 149412627 151556781 658629145 438586379 948853297 453509665 553177890 596866079 796306634 701982861 748028275 590197253 191536077 355342468 654070787 723811628 608810567 417851562 973209693 888321262 675920374 707631838 202834623 843891560 588120893 466620897 357731538 529432708 775305170 794530897 788018261 874967467 794662794 321652242 194735274 804146152 807922637 124748690 134923316 136728669 802212617 872348755 143887603 433479787 786208163 878836899 335979720 753787988 352569187 468684004 874720606 654110999 349483453 272648879 998926785 895445737 218054819 892040710 497913621 314350584 954662582 504445194 975556187 128832358 509791159 875641874 753287871 206128677 284481507 128887355 594434193 678891707 339003271 962986043 201638436 723667934 729309490 768088194 520779446 988438560 208688433 153835587 869615642 523926607 834462491 735380127 506493710 516464618 831878662 344543323 346087608 165724733 136280595 120529040 767794304 883007540 150181141 389336386 228697412 766304023 650871971 243953712 982216820 840865389 917481652 662877100 841222910 941864493 535054758 369687481 893157989 321928143 160523239 855924005 667326437 789191131 220053388 787574495 272218430 850508661 468325827 678509710 324711133 292955010 333650588 609769585 632297935 142019310 452581660 212918212 707662076 373495008 116511185 445736159 790772696 816860372 144411540 240157202 430608208 311516153 799754269 506525469 221505280 742884603 285540586 374043952 850106264 353818594 826327136 828466039 283094583 307409876 399059904 553665217 532330532 730535302 404645812 657008653 777796807 703849414 778472950 879582036 495852456 985337457 556321526 671516474 913265941 860153464 275143041 965873264 325311299 753768945 580286444 203911471 570580043 319134876 280900266 264617499 287860197 953085955 720428539 232072515 986424283 139613971 334117245 525622921 426233986 805343850 694805103 418992564 361482560 164465213 603704863 180623267 573841861 790280547 585854646 213370371 487693861 760268205 582037063 969759852 393748794 658002135 823598189 736424554 574317308 324578563 407883602 332895468 125908407 713467492 783226999 248772226 240658153 301199046 384208408 322306978 438574423 650826511 672327585 125314888 609600551 664210101 866069672 651570060 387359510 462850119 719191620 792315349 852799858 855985692 454386139 481850571 450526417 304986574 171444018 339760159 532571450 544082200 170178990 891660444 223777318 947446279 233624427 179913487 768343968 607917043 850713214 925156788 432656561 271632066 904307156 279384661 776321633 295088192 882481599 989911140 767166146 789594355 971231397 450885015 226369889 850508645 625751516 674259024 953172003 252965612 746493404 639728608 504503431 514248413 327665464 563142978 519001911 142064929 635118293 625511573 358496319 875255893 805358503 764954945 483858274 141871623 863809124 784460623 112382850 150984883 307817592 592003792 375869587 339095799 146513425 681533664 200303980 241471714 701802034 519512327 702851027 749545468 911802954 678750960 174678697 520622462 730130099 333894443 355025739 307993797 544546852 369749330 687769626 507950975 333716259 361944017 464534501 579093107 881667386 178467983 256533162 954356150 675304175 299894888 651483984 263479731 540779883 283532747 283611663 402079148 283344742 270692391 333312382 424388246 596359704 675602147 542624261 512848960 270587012 509408010 672544462 949430786 360161046 700756062 560434443 650490373 711804886 394113259 857889383 680047822 847003832 790201486 646436651 865738536 755385657 123856974 811606014 730819544 956962686 365009349 257571218 395568077 708158839 650315091 731008513 409965168 569723479 769283156 915991507 168927645 664361202 657346693 183149127 296968353 685395800 468943743 447779940 482385271 834838595 540446744 168492603 268398325 345828752 314431274 324390650 257356854 655023583 902406063 745023037 430951589 986542826 101422053 436577761 136941579 738348429 696068298 589915287 734698477 922203755 733020893 607523667 318534158 252008405 175361094 840089983 169706104 759188767 217677053 536576247 392735686 334539248 922467142 425260383 965364558 507303516 891412766 732404595 874163825 225412136 906608247 796107858 602022125 870903824 482965847 994209295 999744235 929717694 200843876 258816534 777042270 118545451 955370173 782852186 781286546 727622955 830010973 929018731 596051524 688729654 612139568 872783398 421620972 480721358 840450295 578076257 881146700 575291743 948243456 763661414 264431577 531009281 742736849 972727557 578941510 856701795 105145607 488020108 477346297 311336427 680884738 168959521 281831728 355319941 913879857 596622803 848601813 507254909 308758631 531341949 360008200 342549150 556008733 880920498 397058903 615702899 817723511 312738841 332966017 131736633 135733437 273420747 383807483 102618590 194562512 179485450 340510883 161902205 279804349 581776681 506818226 876248596 703096390 422050048 727560715 421123445 938441693 417029730 478524779 718059306 456135968 127783279 765791052 229011523 569645571 275200730 525243370 515556581 447017612 894079544 146104256 691097491 615505482 908448140 477856765 805694165 971376779 211634858 345433252 709816550 598953770 788802528 399946544 278136847 220996894 142345235 861758768 815984565 665452359 301854003 169896894 362883146 673409921 697414701 411933112 220048699 537315307 463452990 170519646 781881308 167993341 791424650 130480252 494257035 204652778 106273449 623724969 904590941 512675546 484490911 406981402 924609128 928326699 515924325 312474811 352953561 357837102 366549983 538798682 612011575 367512730 735440761 566047957 895042748 867569462 123496913 940076395 510625079 554731928 688425721 184403857 544939137 735725099 390691049 849968545 265351278 199969333 174220899 278931511 977788008 197400871 322284176 481713757 446305949 459240858 928571608 715830039 526476502 979780421 318795107 443207239 654525846 403382944 931802502 501800536 458473425 764509771 605330540 671095205 982007062 446908283 122845682 171563183 722054514 827320531 987651218 154308356 211912102 612192896 541372255 978464012 899991559 181198362 635621366 616224227 165083282 124560339 687312505 820997229 943350258 121662402 638140440 927921677 478140998 639794949 154596875 354556410 258676690 456117870 334626497 423618692 194600090 938486506 400207478 629726473 454877120 983239872 624089426 355832594 534025079 925536378 858176598 202976438 213543724 452577380 815022268 137060623 563817787 350631428 731182915 902573728 572264209 854688918 617498283 685272478 233508756 644146407 994240671 120671510 174153578 178954076 549996548 677695387 631015277 968933086 850166057 191227139 611218756 332566469 441908112 980781436 521717523 223345258 600741448 664615460 480301846 436419368 209904975 486583371 503527875 441423806 189031262 590069828 897387326 332398629 985393240 692927579 677785668 255537275 843319461 435143560 713778250 985398105 516078187 151851525 388180220 325262644 732080748 407481912 995528631 427292570 181677452 530107475 105203715 996476193 898261106 705065454 576686320 299362073 651592846 984965861 166650077 980067230 500831148 905958180 732885321 459563725 289076977 291908718 813822059 120003565 313237032 419370148 609679871 647045176 226772892 814804486 813793523 851751413 389712882 112665425 374790717 114885071 149561664 288526785 776710260 794566852 488183236 723260538 644357316 962270228 685381327 340917041 849513961 124305334 276698175 826706082 388366176 302375053 127064037 353869035 484835738 512052558 170843254 513179982 487336662 197656721 948792648 841564550 566615348 973044478 715038135 229046035 659529028 143577609 712737223 479188299 360924200 165813343 504101786 131167057 673717306 319892172 225365186 625648564 835465352 534675762 880595948 982464586 637277192 106289528 374509120 262939568 757792265 560934219 178390323 964853479 585245336 512872844 905493595 934110688 560332325 966639442 314588951 300114753 673896277 892197470 688029400 698614641 676254331 327168329 147124756 447746562 628177053 959188972 150827489 816171302 893100191 687439766 219998043 641362969 595547280 987187502 162239832 930678918 570506078 528361928 314990445 774421994 328523330 130654500 204875535 303858424 671143333 178583289 681752921 169931797 887831970 682868069 387352787 205497401 268148981 214632750 307516177 573012388 296259327 661138392 252104475 830480721 971142611 813276654 486954661 581656610 490333417 520126977 209068039 885330138 684276131 848402128 258834598 257699148 905085733 732996820 885908433 834121823 262596640 201437641 972454385 510397091 626309673 225584589 155948688 115026905 960641316 879443217 308998984 763341702 243406124 132260784 196052045 284471634 924973686 679568248 510901614 709770525 474340789 156113420 473380874 572398505 455047500 922948202 840847322 483344784 885467110 749649140 990246897 153718483 710651498 949265057 598786204 301422541 361959661 641331276 710415256 478248804 385737478 398030005 571384891 345067522 229956488 351789504 959090709 210024590 992104907 611617515 846645370 999873308 101181341 365110708 533124153 177236011 198490118 165539758 993533247 521448769 776866749 183265964 110136078 412251469 922656847 795260560 259646897 219043931 885157587 608657927 650678265 929198111 550985229 670105807 168118661 711545613 403664289 210507691 490671221 770833234 879548329 130741717 643095896 944871435 461349287 612100366 769867833 491914698 742132614 108104497 436452162 738332431 261521929 751110490 502011848 485811913 681440676 588623634 589105464 971401890 494745768 460386457 692539654 821616438 369112002 134482156 900552793 836297614 562244193 279252081 320429752 589829879 443219681 461218639 325770107 745207223 740203340 952420464 341101689 964554086 583130143 877251931 474289556 450514469 400453507 669118160 516930870 561600125 813889588 344517683 451360664 636077799 990154053 188723163 255210990 888052804 377222679 395076241 903064357 980969074 902873250 759816056 895287420 464187146 861313468 139286558 204306469 931935081 246908661 428781411 217005543 131691778 989145931 317737389 295052130 182005237 975292506 559474296 540536890 269240638 692021965 209367750 377837870 766981583 887733542 752479599 770277855 650269644 251688920 740557484 989134278 197581441 437441637 558037273 859817900 285055796 963306923 132810905 792575098 811328147 934812449 860746414 707001672 735036958 853840903 888914021 740696607 657708603 540451431 959114970 676993872 976571798 724452889 504323050 476520242 629032592 224145425 368943443 600954088 984900846 498253749 178141574 596376449 417184991 406376394 545215021 138713398 338571315 125089962 537186966 472001047 667474308 705671230 954190380 140339513 455043545 298580958 575376853 356101216 371607368 601803836 789321147 948618553 408240370 886461006 142882617 244608262 480986906 671868986 584291023 850696771 962950943 951473363 128422908 351168453 666383209 989685184 795520002 936180024 508115932 694039503 943055436 962450393 139357289 769839233 251621765 955418268 622980389 968537671 436917862 983278664 790679439 928145080 405306959 932141521 217430645 277050200 628991407 805768975 402331003 469754828 662004866 639821120 838715341 893438576 209146307 103265853 533477202 831194841 134591747 988135456 762604762 980319261 724794725 116952327 245584346 447463820 807515588 637732240 578941737 639078864 921126259 577074876 754005733 974440033 118518621 688984912 676917826 307130782 588661002 275500292 274207698 364522146 145498997 864891451 676082743 739321056 350619185 574509074 804117348 589507404 661500876 347232420 411452602 445899382 326887455 597590519 572735337 480203501 471209211 356865515 948239568 132449044 400146780 691594742 559310032 249890816 316752681 952676309 158207520 161963267 857174570 439889087 168326333 977267153 365564262 231521587 992088935 642099720 958149875 529115538 408697274 270824187 266701364 700653123 618749842 426401898 391948198 456329639 645734191 812641935 524628707 901782270 763359378 656257591 957290723 661398133 934525663 486129489 520580828 933137155 507042111 816880784 481614383 230968859 656981905 185770398 909129394 575782351 920449023 726954150 275508686 853408524 571246899 180628037 945828749 789159126 920345279 143105195 234270034 188775037 365144664 633099129 507447169 333645806 924528157 671411486 930406325 407330246 298722908 239411677 231386209 544807223 152808563 105591298 477144291 202822798 218166444 804900769 305472435 124543199 662521616 238630340 999694176 134972168 870023184 853054092 120406912 531497884 124403797 832100375 805835773 775463834 743792744 989925003 869559795 167228968 354144616 861525992 355096777 560356978 445365128 751022040 683104930 553572387 453776480 240107001 143809644 514351846 639829207 215042908 781363587 159895899 472074960 990206015 155662178 840478959 277440819 711058064 206279842 805092311 582369089 928754494 898580866 879815901 864542637 310600356 929891769 627285986 373271014 538087195 162724178 253023371 261727317 966943706 198049585 642495725 329014427 713172424 288693869 552950332 755256360 866561691 822839313 858162771 336519432 937521268 795966518 148347800 430800450 725257019 633115871 813463496 526751137 642610192 573174809 421998894 814640984 579625500 830075906 314792706 675467988 564218905 103047807 477414886 781130246 545935802 402972921 824619404 565644512 844183097 706763195 692936211 780182451 800819254 712592035 513609802 766356986 432250360 671935229 776172365 381835897 603190842 399742147 807630840 641640042 641122708 310508085 412933924 977618746 842971991 802222883 498996287 215253155 648854564 829130811 992539701 848900580 645076996 475175342 982329680 303463483 267241774 137049636 815297063 322280316 357017155 609497395 766663243 375587917 907600340 782634779 604039973 658202682 792354328 462205447 249228291 361434403 923733772 514107460 661810154 138542228 687074325 141527161 563874000 583138506 272881821 744316293 288425750 413342166 145318832 840017125 484842087 326650284 504618317 879550408 791732764 794212075 660639467 203479758 126796986 318078709 765032401 928193652 222539665 785484021 658567509 258084663 929626292 523502493 948247978 264754267 566375480 151477657 223877073 106987986 815308479 658034313 174828430 381751886 327252098 923893261 764094182 209238709 998473257 213983923 919128065 559198121 945488875 775823809 109715205 536126870 349973195 482717520 259234275 678071676 874310570 837788214 738231763 739541222 902026036 704417796 428967157 896910450 601046533 452152601 438904089 924660455 381049584 416789253 182012091 403316959 733058406 215485704 155734464 410670008 867694587 341342675 118236865 907880652 827612098 880699615 569119863 629189254 888694071 510377427 137546360 801974581 522153365 220695519 121006617 332511135 666455521 698708943 856831483 923866818 283138882 887015601 172752835 936048572 569042467 902041850 338865699 981802204 882853988 823379677 571373325 688145763 550218198 414446140 685482885 232995148 272024716 569509104 918854357 639697599 750791541 738295940 368748590 898587889 465065708 552778033 272595836 722460184 914306908 744204108 207269854 832021731 283485553 712700831 731180114 366853596 942952125 301214935 383032171 784389314 499780603 636500892 271330636 484717918 456963218 718749167 307466988 592156995 354681073 429381385 227766834 947751599 558441389 757748800 885518421 397775122 214041438 172230207 610013835 590313791 104747051 108091839 921182404 798242138 143443209 307711412 495689576 342793164 318098106 981793158 148498715 753251191 840391362 954537870 888147526 272040996 239469670 991996693 639400446 778852800 405625830 184498041 893345596 251971063 694132999 206101558 178437634 118404875 261609055 258300997 512028154 912960927 134113635 578239060 168222736 453596601 839767401 369506387 771224099 568065642 933148918 760978261 934757589 803780340 530076034 890879988 389746351 825797243 291082982 393943725 352575549 658268098 197243624 726243104 756850262 118502987 889153509 157057314 949618809 244182926 827462112 176706152 161851943 856544628 871991972 570108964 580485206 916540696 970596771 471927300 967660112 900081863 702941050 161923152 787431848 772615141 448339100 968119692 321132342 539634479 474701615 216893654 886017749 503438976 421016315 126173705 104422420 429177439 310644949 541325151 257864928 806670281 667056800 494825092 340110623 449424676 483315901 220456693 676628551 630283933 236252153 918093864 205237449 225174961 263108483 241124663 861200844 378261604 189460674 592651026 600504342 406350189 551879625 521669184 457901581 812428837 206417782 372305828 331440811 730963512 451989751 183464302 662302503 530891598 139374033 461992761 281529424 404561307 791608997 741919311 328137105 864254385 294575635 912202434 936387408 407819160 951994901 256723879 391939944 204797491 203583235 902499780 886945714 165578427 703163899 400101741 279972998 133212054 156583771 492976105 691204544 723184329 402868408 927934698 707353951 951304007 860085177 730178108 630670245 345182656 775473021 822470410 190854831 470017044 989024883 387984363 382184573 767065849 292790341 113652055 326695256 581898673 372498107 950507537 646688235 919853477 978951574 838543634 698058483 963474415 759796312 531909334 413267673 791525475 731857753 520132441 930415524 203525634 998407309 328417500 747466372 177944444 979124359 575803102 715338349 390525681 376470977 149859331 418497029 984674968 167755683 454439468 444670539 476230981 750327930 445128264 832348320 654001856 568252997 757848947 680498101 858020963 796159860 189833430 836198564 446025967 768931719 590177839 659173303 824003739 912416317 854400022 727281487 985646659 163139212 186527905 489282107 297013433 147981842 285569339 876383498 487786353 926348569 808290969 766999035 214914215 180777365 281284424 274526008 689189455 611565668 319901884 203222770 896002510 848259991 186826499 378619237 257364888 991091482 657634518 532101055 974317171 102087675 238109237 217712365 817070757 944083210 868243459 430495098 826961011 758898268 954527779 364298228 127957942 962102907 101576777 396758147 655258637 368837544 719945330 793892465 355018319 315380469 400969891 970007582 421274248 871784862 475215439 521188755 880579953 146751901 873411767 946175377 268762566 658981436 890769135 621970364 858362949 901442125 699494719 780002520 575620853 895737445 483453940 930881499 220820924 776186654 225558974 531118954 451943956 133337792 955037944 555182324 292044132 119689173 362930977 268832705 432929065 700424958 729087400 901703045 971151248 203864513 929865767 480028571 572290713 782851486 905993041 581935055 760101220 972683340 857783202 204361669 189417186 821816003 271821056 589542188 486336180 545418460 584488939 180304837 115964178 379753147 760451301 853014576 480435358 755928315 270818153 539808788 927136066 220701537 654433878 487739101 265703612 339280294 631894607 424287478 964147424 297581475 954949163 271120898 253246753 936126093 414437782 514376040 407071042 213508404 441648054 602482178 787346366 373382348 229207945 919375925 254265367 345445181 297657869 509178442 371207077 771049056 636128693 960254206 116767063 214473024 696891649 422907620 430287480 293529375 886737133 272529250 211749423 708504642 561143402 982736155 162215893 701795952 374483366 556520078 309984115 581432673 620915401 715416400 982552790 417356964 156397412 987783116 771329840 169714999 630520862 350389696 997404319 317658160 540603833 773838686 888782126 741173849 687187874 894913386 421255198 989276998 158489930 224877241 849872246 364083002 898239914 170698448 909663085 491917379 602811013 563052087 386249141 812944052 541827205 291198091 701122192 372004190 997611356 221747920 873136079 489820045 173626170 330013848 541390578 952098585 846964102 144638591 338505304 896145194 649607279 773222387 846783265 157763701 187376197 525453723 542459852 259347284 445915654 720317366 520213653 669374850 716097204 875259249 167038697 859194836 492406804 609237826 575981672 343970459 942587116 626751586 693978528 498683489 340838731 819718030 278228259 360645148 819934506 645193145 130562977 213453564 343607103 636034808 485486127 204179680 468600549 381899626 483944211 366554140 579893709 231096210 189945724 225238978 826350281 484608188 685654923 776048642 580256131 913922120 569478788 496416767 404594165 647422090 273639945 261768098 360262234 390483620 730900923 908361098 219603532 570325471 164558400 835489514 144743049 244805126 825806732 366678909 635662687 593488072 171946059 564238516 183983360 397507453 392123853 510259494 489015238 602110091 144042520 847671253 604731028 723648984 410982964 170538380 987559314 981908948 126096888 582196024 474746590 370231731 412590652 524583213 893731992 395629314 759971029 631610568 747125635 299886825 714898635 467381599 556588528 991223837 261199762 110887049 760316315 508516631 324549258 274719301 120630380 381718116 480423991 294771458 378814927 785481801 943125315 886657202 677404788 511535975 543058163 283496772 999110162 524010101 760943756 700625566 142817121 975465725 723831923 786390889 588160617 186757600 822830698 107819848 451746602 936863703 827014384 289437964 701053035 332941616 271102137 737157275 485991230 823718919 725020983 290880996 781512733 344272609 960503116 394834664 599834248 854235206 278117838 237120346 785723047 485629317 774489693 296221182 337215571 339056412 465846754 172897759 690540780 390953514 194922513 726973659 803697405 521130235 751772481 955064697 138154406 951550449 811108433 326976828 620113657 502813372 631912183 720994542 857692305 545364873 998182152 134499871 549277515 119812086 622851962 464589820 791866780 748364017 211705243 721678781 947704783 410889468 249393689 570034434 126144964 385381591 917151658 630742986 941260735 252738766 444199860 862576806 211579890 284306289 275500024 967441115 569277686 241661237 125891810 168756464 506056700 232809950 274707665 556722971 371113898 606395583 383938013 344057922 729393770 976386215 807652008 494723584 596731864 656136228 972520510 119892775 343657965 690620413 952942100 216334187 946987361 289462462 514973232 247952665 322190535 939142778 747219152 760544117 872280064 993595447 868076563 494882250 266642054 577582809 669715556 815663561 154185402 930512402 809273933 649689421 511507272 111390356 966805303 455604828 271876003 635083389 595358334 272637326 166972281 687046858 655489851 488912137 259877296 231465775 325083154 541745317 554203861 166273880 691012508 169279612 629396122 922025207 696905681 120837073 384352505 148733594 432817437 736964169 577719033 908843232 686430966 279551093 666842463 845666335 296746013 179368422 172513513 972610364 256320271 393081970 258109040 180518803 707305891 375095533 977469361 481462694 482398244 871571719 205211517 815931603 736459335 123369331 257266250 478466977 570163742 400699987 159228265 790450531 760485604 855318767 957719902 510329160 762914262 127091734 423376733 416658277 406094260 623538402 509285192 918856656 527433206 297786779 583422644 243595053 248743005 100549898 982520431 241880354 784546520 306163739 321454103 710528482 817382051 393844188 413666441 813723216 857832332 993574521 420871691 717549306 810320197 163084807 412921301 470125019 660539566 961836382 713271073 279688158 880364278 834907985 741422186 837627489 417816004 229537061 321089830 394037970 139293571 911170626 781149696 599831425 230649799 357031689 411914977 718219656 681661904 978192715 686897492 725689668 955119153 987780805 379064753 853100029 272552061 644021595 461155497 346389106 542989051 603144513 919550551 372667739 172964009 704254576 930946397 685712124 958004993 911816528 765719269 838311598 424099867 639408000 364818929 156097991 846729235 360121957 529338341 218929580 495348577 519133602 951577530 591867512 851249214 891118812 894741786 231981184 275347559 141207429 381795617 966334152 420848824 463297634 680119972 545007696 802006554 140933734 869903503 349715213 411596225 163996898 717189680 360975438 341371962 966637128 689940962 284491508 217221142 973273550 896766155 562367081 468399695 328545902 651419112 679940831 128498877 227519255 799208149 380392276 683098990 988122950 824946379 642405955 513782645 632525449 205073832 463040124 188128661 384954817 649589430 362604927 546374197 894969677 694221779 654187510 178805180 916924702 603805280 508885576 979360559 185317475 281522662 578243384 107260785 372492513 276355141 225655197 686518401 981186729 362735296 743845089 191215095 132376967 926967585 310923968 852814924 499208092 879886254 388151689 897521769 400602711 649899384 427347543 737091249 240844274 890642466 722645145 109292881 788376945 589683765 104084744 388446133 634489839 160156242 238216807 880417563 169161109 501501493 207717294 185457800 540922663 418085911 447648564 419029366 450865962 579375746 250538127 268493699 560891571 733873747 716332024 794399742 898130010 195734389 243548425 540803262 348065470 781923207 972377487 958235064 516360729 312537723 811217607 793195919 606739571 542024785 598585239 805201272 241413176 914305241 874897520 889693993 568705776 445032822 952064461 964678284 977806388 568006594 173296855 323818789 416948773 265516831 683748613 408888672 903040923 794776054 786518463 625261505 881641525 840079486 709827852 354321841 828812503 237757531 109135581 222345655 221091268 370669066 580083467 201696166 122035853 994971505 535301496 347011347 545916391 192681583 380595124 112658857 807451063 140714146 854272387 911267626 828818927 398479700 244001327 439095473 961482767 207134492 646258662 985335721 172306439 272683632 390035159 533273569 716869795 796274259 811953358 375174742 601264849 910212939 392822509 493018965 903913279 619174380 965243203 885831894 845048236 749994334 300751581 141134291 422947207 463255365 248241202 695816247 270029252 516271024 674423547 911964123 707529027 739209130 259330848 741935947 764184012 345928334 546261941 671247999 157983051 885823511 395180742 874255973 188202787 395162427 868692222 306244208 886465316 467576964 181794343 942444763 216266489 835637930 426728876 351900559 817981110 328830281 270085331 938752708 895773610 785689679 772264964 350564183 649265740 231288755 951672408 899899845 580977874 478694481 963788210 417197263 555525156 788384987 810639416 682070267 537202717 160997243 183645605 183475373 966053139 789760513 414150323 648897216 170288063 746376116 152502103 505233290 868275516 381392715 417608564 436391588 665392925 674009738 963846720 336050115 777161944 374996475 758400721 212034950 289559391 353548415 326216989 877427847 944526945 579233542 507911471 175411766 835127972 864499856 229260016 945540418 572003143 325810737 597834975 456017101 877382752 638753607 470425595 302182281 306038555 788758884 709021060 177215004 882483812 958153801 771551531 355545197 573740220 971796585 922159249 447897145 553714599 284919996 314404288 818963877 645182302 231558823 970689060 880608874 731289246 521757393 929539869 498479073 341088677 177934697 189459557 385626026 784002574 981794727 988405100 642303741 920077995 981841978 706858625 637194105 765427901 542604220 455175921 756789935 816565032 303620616 893894201 145766641 658196671 437410746 928426815 474587329 716255732 581701845 390828202 101432411 372408294 834626499 624544119 101822209 319051223 164621032 446278250 625643757 288476113 791769095 494240241 586550196 824768566 487803861 727926091 366400091 984845433 996494490 559992082 385511674 265404745 664531787 978396361 122137016 677221574 648605488 546555054 900458046 939609434 948944808 849688044 734912064 512642521 656276454 428276358 479008773 429700025 204699951 793929262 502082823 809212131 851562672 707299429 487461506 219178311 547202599 239774859 830445826 262741446 128881115 380509125 743625817 798969033 579499424 142964464 252784382 957056316 469135336 547193551 372291082 400775268 187506287 470529304 102375882 989259235 303004799 711486574 476702796 879088289 773781664 987860339 849715614 775142629 605486538 410288378 642815081 148625521 958788962 216290061 910992419 196440639 876234152 643037669 839325879 925333076 436789658 190388769 859371065 577481038 533538229 598875966 448358838 452902105 713364607 925366475 854375584 978680861 690964618 870075553 900822770 247919623 596103588 812091852 721298783 889619993 480271963 706406618 513750629 598307807 262528059 621824490 826333760 415094205 820725262 794686699 256175845 238778373 170685157 549761787 842044426 208487480 479742198 185336702 180040294 371338522 443433096 523044124 310311575 749373330 612401791 172595621 431667344 534084555 166842890 743674167 622562499 646472489 589495709 490551959 418754098 221531436 466166371 512529028 481127138 912477550 526565434 143665630 532670253 821354085 595078375 765862020 483139512 458921151 643232708 672243782 544177997 119957832 893667110 117291649 267942067 347361308 624333388 167436817 412649470 142312449 729591804 709986501 145872162 846983007 467395035 874002560 394421780 686422012 218215391 334758985 278015416 771399516 544297992 139318818 938260610 678761278 856721271 493695367 355717404 242796309 829617528 721379332 919124570 165407057 165634000 180427693 653899250 168044868 530920695 889240237 282897916 227156914 196015138 643954596 750960919 564414918 833380731 924599414 757247151 931695031 811633309 988897374 217756794 998778296 128208028 296603260 170768115 683001664 348238829 372054494 973011137 979988731 868083512 580634639 109788797 903896521 318908222 503627667 192110996 617753727 266388664 624575352 293433134 167477540 871374493 219594731 300869575 907110916 277004930 380914104 432986161 793961962 221130802 936624102 646901677 417476716 644068732 363303173 188218779 225737658 269964297 527399420 459357400 845451718 661076122 421874284 249571916 651011505 846472813 935426642 192300526 407972946 542896218 131594752 422015632 533108949 467950504 675832580 350089503 958958400 253872958 381262811 898340677 366255326 532465154 216268894 169190404 289034545 121430383 503797135 724907068 174459853 602995808 684924046 122527812 343919595 110314466 781707177 419277917 188283283 289753846 265686185 295145925 635924942 693121963 823087778 743955404 813599261 159660243 871074990 420037989 159964126 475616423 573944424 603711666 314066797 670783692 750152548 381585319 249695086 521831249 497294636 225087756 356070757 766348312 539962295 798671354 186288112 477639309 117103838 698650696 458482379 273311363 986506280 815413368 981549700 783254937 967960652 331036444 959266705 940047604 478312495 771277288 414145658 265193988 870315024 197783665 306707879 120678211 979244962 685219603 692327433 125212468 162313783 590859851 811572373 445541545 861267415 146777323 955732422 276525386 548168290 494147211 254729455 579163253 691040379 656570982 433730558 465673175 739410554 457627206 233621737 228851810 398603692 813115871 787581819 196365827 945686811 831349694 710938993 550221947 362020360 485850973 552951698 429527756 535513255 139918913 397026253 598078197 725188306 176518798 259749665 123689712 400236596 368065609 339849054 536908044 272712765 232489191 353248030 435372101 200481896 519386546 419122626 979598659 660484232 923122702 127095795 856027961 188572437 787277819 419575629 182176802 865722314 243592303 155431459 665398321 230672724 331309299 646028304 868934603 728288012 673737564 881905057 813504928 132177371 840329116 194869413 442240098 500349972 651508928 478049019 608532867 198360510 930034996 908756173 845458459 319079300 900919804 284294871 165135258 463977294 313806098 799374168 503757919 381420148 541068719 184003931 838838246 555131466 177056376 236542946 355328352 903290566 965140556 629567994 800252749 337502424 413684515 335899032 573438495 268273605 265683198 668724831 683634058 739138264 297421356 471881033 718657550 543069514 965941681 240111947 321154856 361818114 109940999 453763922 561801895 659941601 287127602 251656051 971799184 730785301 987323368 725836691 434552587 381677172 670051400 168658657 994946338 622268110 956557769 591442335 375379510 696944706 167188905 404540706 190272670 789418148 919567739 476032116 764515970 668159619 634157855 731123476 880306881 542462106 675053017 935055107 526788084 155169261 836148508 819151587 865475462 166710715 267671674 409624569 586580586 218595404 800884193 457012229 800011189 389885294 511574968 218827339 348107433 627624728 673623103 421880261 338110051 215401048 935123720 829501726 924804285 199868743 959225321 423315000 970547844 159533125 288416670 819613986 965597786 309574082 683965935 528527663 313307553 132489757 498720450 744560604 804424249 262389446 995867284 803185968 170429637 463212020 351630405 773734098 754109228 838566912 756611921 448679963 356453194 660153007 393045278 145783309 747197444 518950204 496767973 642705566 329996887 104625084 919270680 933966403 909742526 880135500 591485722 268241976 885243739 851790708 360571316 465121722 690372579 289602151 563232035 382347616 490961616 703866196 174135117 464328503 568901879 913687992 244959461 992474428 367261149 801997105 539103641 630720750 992040300 714028613 648705036 436670158 567214410 896081719 588981642 402908032 792068563 443180052 699536098 539620088 676798271 146599787 298096039 651841493 215951024 256275802 563636951 537344999 288164629 992055744 552778480 376499925 849148443 711841180 888835085 110885573 505698549 582556705 420066947 390389756 771938935 641276410 822802563 351859339 256988959 615922768 797305406 606153560 884439518 445537107 835484587 108805868 243612680 904812569 605027526 880391146 144149225 850806811 614821002 799654574 466527114 302498264 209268236 438886156 577863290 275821596 852130655 566717155 727267920 944290267 705886945 284874925 942602339 591975156 204166254 749401585 608403081 481147937 301649721 823791908 586669324 743880204 873455500 304230771 166914122 535356820 676903883 830900705 429714092 494093671 770098113 815210301 334760819 613721208 939202315 272548362 135981471 944278609 730904558 556181398 607406641 771255027 815912849 264867488 813717375 243606549 435372686 116150525 484581196 361734801 494111592 727814975 158445913 643816520 366836614 787968881 389978043 467981018 798612733 146279694 320797813 490390802 443590213 870035506 941207930 662226689 686840714 161001304 327361066 138212745 613165006 606256050 739756399 977040964 917493886 174666394 180600511 337129737 502234528 920221010 981646595 960805624 660160201 952708978 149351563 250917637 676399056 530697661 795131838 154774641 139974629 137331296 822021130 422872691 742978452 955230355 360974845 585163878 924480383 611533091 705883895 901981221 741505374 117659740 161273093 453321705 104521092 698015748 712087955 697848646 329855626 609416409 660912415 835379776 965013448 539410617 112933941 876059955 206257298 670233077 590716160 702253277 874686182 273270154 306258821 881979214 727687023 288297238 373601823 227198592 751287584 259361304 931003520 912680195 585330600 560629642 349770055 560443516 236640926 238320028 786870675 154153516 887800818 296611535 128941702 770682124 780922059 252295862 869300387 247296851 466868600 660977395 213224689 480189813 554946910 189868387 129232618 409028671 619924147 874298099 814518906 227377001 722650462 735886816 104938810 333117081 629382300 769049645 491667307 379905845 243885828 229180515 167112144 199098804 404702462 803546386 318585574 719923219 433212400 227065762 571893723 336155653 124988066 646349871 519702413 546289153 740539844 325339836 518788178 464520009 402778170 195780999 387218286 683355860 311027928 889150594 689861632 344078159 971954438 434326655 671747553 662310965 565062106 885140483 500181145 803286275 966119354 482263743 118267303 534416369 953183024 888560956 694147020 950105203 777082907 939256532 549973125 519064214 664872864 264540759 534477596 826756249 768488359 878521272 491448055 792899779 204280249 181180710 315997224 429497974 580567162 210731883 970375461 274362916 369756814 766101522 763652647 278820587 279120936 957700362 450742290 387810810 203190916 630745092 425253102 286394047 212107427 577144540 194977233 383859708 773398481 897362605 483579316 223715188 302169103 660591019 150133294 245275849 779337868 875875208 283364361 356399024 154405133 409304571 707133550 145714074 139087650 552882882 912783882 554962583 184840080 667354045 801179581 978390211 967531529 552748816 112727487 385359406 840725979 382967893 879955818 940913993 993108499 821845300 466308752 639460058 436315977 205395484 123574757 843346315 257892638 737075344 492284761 847618055 171505331 879509639 439244027 785318962 295774405 662036938 732826123 697893555 307609768 525629686 970309416 695845706 414377997 687700379 452696294 850139466 632475510 687767331 589772247 850918293 165948514 517219265 930619970 766867291 203507970 565260963 361228739 462766094 167623547 985902804 193970433 900904345 815938989 681054351 140783038 579056785 544976587 328719428 500495824 530183011 622149440 369642119 700226549 693028749 537813988 900786146 186339076 715906198 527235366 101352056 295489259 112171736 175296393 340882930 313586150 312934108 825039436 651454980 349610188 719918210 198713670 577876379 783902765 357439024 849813545 240409856 826714942 738282350 388917338 364620603 162652493 921836596 292985651 931349383 671352274 549969626 292608529 916556679 833991214 823457552 109520166 113446764 159909147 485184011 695201135 111959049 322091058 186009021 162796599 298976753 384175978 490301262 724365336 330779172 703096357 246446299 526459518 721802127 498456987 770661044 610260935 296167829 206632695 405180036 550977610 466678055 633996688 424673749 486647992 537090646 451253015 788001378 621528987 206735365 864976561 287683051 664632893 148085003 793237270 681694817 513747948 107484199 566551534 217175419 352633768 718075954 733855797 280078873 509350854 454640307 621693992 108938309 379425795 238380585 436272901 288692923 788546524 152847497 526654112 658327060 121192531 986776717 463917831 266611845 379700761 707985707 111837088 587818879 972300209 847866045 823884825 537881949 112596706 471581661 325538631 114125530 741560146 902539306 352192305 418608900 193079024 406885345 902965005 145819435 379847663 407560120 698429010 906018551 938856155 656276957 132800956 981801517 996782175 985111033 549970938 969652723 571462781 624677449 303671919 968902979 153785383 886578203 499239189 245887135 694074130 634566844 307031124 769400642 817256184 120050460 387525822 129635550 721824485 989592984 873336411 862666973 788128230 970607654 269414014 693842501 153289022 441876583 787124870 236407514 150461395 123676205 378070460 544058152 881502112 993471758 718691523 233126451 979914518 548222385 309669465 941918266 440958416 636094871 219083219 481427875 453780796 961274334 310779505 125357906 540599084 656648494 442103238 552735715 655483835 665124424 349419916 980338434 133331727 799168339 861415797 113350143 415565112 419911019 939147107 277068194 772590243 371472744 921587169 222108076 273574828 936774304 319530591 385639054 582422687 943139351 762436276 572014807 229584988 779421351 661884715 657837211 366045457 801899279 416893795 409635876 141397149 823216938 243096956 441713276 220394761 965472586 929707726 956628969 658494363 319701862 447655279 467443338 165734397 663740602 901223587 623267488 122145162 852330390 175495517 995448441 801343337 779005503 953554882 980875446 876366544 342551954 638701240 187668575 969455081 865923162 449583743 192731101 193164520 910902140 487724584 328735977 920386931 407837681 303770603 118418135 749393443 393791787 923571958 136233605 423756701 403384558 334517916 772996920 626510421 871812074 119568729 801432799 906658742 518236539 512137470 143154750 949509977 907589367 360100639 974183087 817720815 312204431 856849624 123012038 889962473 835611971 601593597 558861067 250895817 868735081 445170480 941386423 247772775 961229010 224669787 980517246 925587061 588692535 957781940 533564366 383223757 152652925 815969863 294640395 551568758 718004465 472086131 228423267 214547862 179558166 251056319 941841325 328436897 670710481 644328087 936527571 648384321 651572134 963329916 666441047 243253677 270497458 838744901 224591658 520858103 918449392 617624820 532218742 202170264 112071291 375169173 770296055 197089486 360321832 623912985 159830711 764806030 443938958 167914153 652050202 869829236 660460938 222825854 240167156 296157623 745511292 245820346 166962126 617282649 364928971 971966156 228554387 115707176 680318913 677121820 103423091 995464305 794822556 826213450 433979189 518546090 391417144 521154240 445157124 859495131 950354790 836833827 239919082 637015220 869043720 333272742 236230245 579577349 898800832 477346171 277190482 850950658 459459138 126871683 665794182 219360609 788352252 622712601 596611616 746013268 618622734 981490225 256206368 639536230 842575767 833065301 903356407 403897973 105191878 387531407 486945165 465201309 958271428 254065994 941184791 602046633 285530290 513347827 739962960 356645804 869480195 398683846 326676265 936983656 369972131 397986636 683393668 248292597 280287941 893018038 367926573 745811479 778318339 813660279 193485084 410569198 272236640 658782652 688591915 758868715 947477120 597161936 388379083 326351643 853311907 537821350 282168689 634603420 567302888 142430217 175134622 199783293 504295357 626031478 880971871 670728172 955222777 807040016 666572456 189458479 476675636 455193708 639409568 555251995 709108560 867740758 457215372 836324111 544081550 944765045 830056536 243723460 125820429 489885218 243341865 729973202 428380882 997309328 569887604 852392268 893437031 286957558 792306301 769455660 188934241 482764630 934552460 245059224 809718622 732666037 407960999 586419121 226748021 680227299 155499612 125531998 329058845 626390503 348829224 927193261 956659942 566077767 971826054 948435602 857000238 353626779 597849345 906619972 167679965 663569957 659146768 467749993 605981063 569204587 959942722 527012000 753137423 680460184 298508011 760017469 992884176 223210894 373827122 277098144 243299742 401659196 702944976 830622726 238275076 401719879 579581892 412823628 154166593 413827572 342154582 797571897 505959335 850221682 350439988 215037698 767296831 288663872 363256953 629230180 462527967 367685738 970026401 721774703 531264217 242094842 480258567 399744370 121986523 862957502 782446355 420023221 244345299 424778581 101374770 598553509 626265786 463624171 427708392 611743843 291703740 485145813 525891625 699798639 362165205 178342795 515209920 726254882 810624904 620155934 154057475 896913415 616902244 578452043 259127575 580604695 979196673 523539295 120827120 168626485 513306858 233586588 806407784 922720599 856469525 866439211 575570985 368183300 917817077 670270220 353093054 292801624 697663736 121849170 909654424 987269516 604155953 711667813 813240372 185040298 969547870 676244761 148196002 288677228 662392534 191433258 332569781 780996419 523260856 195669329 490101867 164023648 530874784 631177412 548606697 521836295 527015457 243398445 540281130 115801402 401588739 782434758 138125345 323180005 451434274 415870313 564382493 529077084 519293648 453321495 967829803 880797227 949214211 547410750 819971500 762817240 846564396 593620451 369675421 650359097 762858441 423597472 128415576 443812065 402126902 478821671 886812959 464235394 841053043 522924679 304587885 590942436 173334147 410990537 598539265 877784180 924447658 687077231 490061072 317935858 638086581 717857164 948626117 969862370 133413033 455998584 356968897 983344864 378438243 475254980 707597615 689134025 522796677 391423456 257255371 806046569 428558143 410296617 350489379 404975881 145112329 923956303 739722258 532572254 618753108 965470044 993624023 578018036 330344793 315069998 447122858 896453725 600062703 201146472 696328809 144121885 739862914 981925735 623301174 675444052 858050847 695404440 213614996 779315527 616007723 717143712 478956406 165842896 694069456 933033486 101315284 460489879 634781642 439791070 429176497 297115677 427241734 592966109 792495290 856979687 369155812 925486133 385723922 359639381 429556108 935672830 530389660 472615424 643079198 679625613 381118138 621037326 568884546 847064241 713154878 883984092 985086957 644827900 987860541 300914048 590367865 325031997 398836399 867398884 395817092 407047963 748484033 312249061 282532519 320083532 247076069 385794903 146442086 499765160 203035224 193240028 356635501 467355241 384883365 565568338 412940716 847947384 876733856 667324115 836898768 450274785 806279362 629838068 279661539 720369803 515753291 897807422 536904096 880352987 837550772 186470977 222762729 112155361 416911782 160736715 185683905 591490280 189013088 631124918 984526078 350186005 986136753 930882369 149076197 526765582 548881657 273733195 502777008 890115306 310982624 569642015 278767928 998195280 180161480 902043485 589864168 811205079 235988943 479688020 639223414 467627964 576127141 197867577 569022408 358312060 632671941 963316655 179469419 890912555 240264310 977570206 249420580 894330531 410396434 808334141 170895233 275307292 612738755 771727109 416551895 977016442 309422548 157365777 831819769 190931464 205889368 686154678 519771988 652968970 160878605 493186657 143405968 693825839 731851506 113686178 471615706 240953461 187007643 151645878 250887004 912259929 482474103 202654101 654648182 734050571 870298011 327579200 564722515 620247131 904535845 789293002 632207106 200225939 702030695 952708093 201170183 502565998 345837636 597744184 463519706 986689869 341985175 812599010 436303318 304226721 436211590 408785456 233070065 821746147 230803570 762454096 711634184 831396395 736915609 896472069 845531150 308974914 484853501 365712609 463417534 908565931 808924789 731345802 485944822 629059464 361209568 425826924 807037881 189373744 733794023 546078215 410935604 694555880 273270334 113913890 197601099 365116916 281671356 546901608 982985069 877266516 178578752 749270782 997208704 937730062 521145467 124331699 894148029 726252315 802441815 908093228 542970496 691591214 990752675 442982770 356035865 666353001 655116163 601183190 220289266 818491844 848681201 981222365 668222790 331349447 998799901 531340241 899706143 334392195 964435535 622786064 411875672 306744412 785190031 107124543 772574674 734279096 836257084 725822264 978940224 881861369 165887483 205986507 657802678 262285581 151889005 238115209 946653354 408170316 784942207 576593417 489594829 507910650 110507785 146027640 237229121 582622940 301895774 855772712 733443043 810503736 339011354 584769016 319916558 843511955 193639341 656030156 233164568 854512694 476616960 377804103 435854119 797763920 427813581 586509756 447125995 592714941 918795556 177952904 247343072 329851064 222696193 645511266 723094140 815608363 189767996 584875872 394242763 431811133 943486429 167258176 152132589 711924246 917158607 727673106 937266629 313146310 783859114 535464244 238086592 210089087 997436021 623047696 250390761 490510168 308310066 183532002 625675218 902358876 559818132 628352180 194725438 857363063 500811565 590467754 284907086 485400395 424349228 698420252 564678292 701407313 387313539 550560291 856954607 913750297 885643017 726268099 875091552 694519377 300316659 329316540 863831454 694976072 852324509 707134290 987791416 726145225 149445306 628591491 535433968 949458762 164270400 930612610 722249861 891655844 192191262 232517175 589241971 576685079 337794565 236783724 319248578 218873191 733976007 213630950 764710024 679496387 353612033 718845390 658331356 328716534 588079129 429720429 468124877 967592245 769825664 499784059 142824729 674541817 688858270 674861472 904546673 355136831 381757835 780058974 599487676 831265230 244384054 417266930 847682732 584780092 255860956 684944674 858366902 330273792 245033513 755879616 479188662 390286880 525780058 493000613 763903040 323900810 504494053 555392102 194787186 251097388 164981350 265882643 789000062 215082823 823132908 391521025 321176243 919181599 805568032 467367953 813185821 402802663 892203027 655460583 169055974 219892175 456978833 831498005 461821899 475526547 880082406 205672538 182991780 584437297 985482091 642520076 293380441 505319025 111062984 546959401 859618011 362075267 524029795 167404696 695780707 391720216 476008238 104021528 656738175 243341195 686005381 789823511 780293169 830478181 598835973 397739718 690893841 344453054 909667351 983510847 434774745 359396820 289936767 850995444 869741252 965312856 299257765 417807486 216301608 991072765 311111305 415846629 214644797 537467456 520976490 175527818 121988533 439990987 743900088 132648790 992086165 152213565 343251398 553385489 713467179 489475087 156120280 444581857 671890647 835089668 322267774 672890277 105904451 312751958 188905828 806045943 682022224 365347076 406839062 354530359 574147991 689796599 207535977 525608338 686712292 285864147 227106071 926812840 708956735 149109645 821471821 423073509 100035650 676959741 554710136 706453517 706182169 366133753 422100510 403685992 660972388 193970813 150888698 468484512 499394318 565934491 169685265 951512741 590887519 121326389 745138952 393024766 994281286 401664651 484289830 478143433 382342119 967841552 549684910 765962894 191410278 216425883 370418262 121344916 894057949 551003058 207027112 165996075 109503945 450484890 746538878 602188693 812261908 654968702 287122913 775139731 624491712 292540369 292733584 413234313 299297564 804282840 355714908 673990970 783031483 702073756 648582291 859251625 680301649 893372806 547231934 499249184 824744550 105686924 983441367 606818927 266612472 913147033 484260446 912532644 574558722 595707111 930981365 291721709 544432380 365535575 598189729 138014037 883970666 578585189 794928157 613369260 246438941 885915837 707931833 277679609 605884649 965912214 198468101 714055880 925949270 156898428 854702483 823751323 106697446 968921252 855689170 169429972 115332362 356356182 378712902 388344696 699837727 904801774 993704137 211404054 192103994 824264070 315378070 277688970 285401885 413854992 308788453 778425511 480142333 301757598 935518755 598253946 300773869 507849932 556883997 325132802 873027277 990069596 515381779 864482416 325584594 458580849 764655301 980225789 612001845 107234885 345830292 911862453 220163060 577607444 283759040 908446619 122558091 889928235 587008738 838674779 901943281 511947968 625011979 491256401 409671430 187802913 213988481 105861392 209419843 584098661 373740143 295245997 725302374 610813652 410752094 549372667 100999200 788960370 682705337 711278615 675238795 699999179 766984618 633236529 582331826 478169627 436957678 967772037 309642359 944556837 909140026 575297912 490544044 410488112 455888816 742904356 926566609 549056691 944866360 903519957 746430515 900981351 935896342 644504213 745784622 717164780 253227618 116126155 413019505 804148067 440675627 675197997 482909746 686600758 493104502 526216156 995677043 342596620 572064258 710909068 824495707 370753597 164534918 361047692 770964659 347352441 760230913 265569198 886527020 424880081 673443660 300879201 191859894 680161384 408412071 256241724 120876465 762318782 974934229 119024710 100269278 201461480 249738829 474135170 128888601 739315638 748922559 964677399 461591679 635538114 616234013 361667149 260229436 889956357 778979148 123687820 826227824 148541054 234327859 225916065 313576748 577696290 850874650 861346044 490576003 241698983 935282999 171144622 897509736 867392028 933264292 940467994 711633792 720731762 642871051 860629262 553701116 830699337 385945005 160244645 669456003 975893681 817030414 756298753 265668302 814144879 109472407 375182783 452068949 717923077 316296443 784454437 816826466 591609431 479471199 986360027 440513222 598373632 417821343 755540223 374359582 805815420 336786754 451557782 285292550 246782801 745187742 121813196 143546129 996640098 468469557 406621720 591237420 863821355 515158820 613004091 995267289 903504609 953251182 947912419 420633600 542959361 812337449 965539247 248896319 344110866 908925760 859387770 255286746 197553596 360337357 724993371 133222535 420022978 805158169 193092394 739593860 226256781 751842353 732949001 851224035 212007594 809456068 665683729 492588020 842123981 469303621 279700117 448988440 404937718 681723234 330456759 710146556 845666668 932484024 350498971 261459352 535343195 180403405 838739131 176029084 450497397 302122257 941689039 977902500 944904925 876005013 291959663 582732711 617388532 145657455 257934394 103322066 963422174 337616144 964889777 609968601 359689309 704424580 617143455 641245413 632989046 941703205 964275165 322865975 443395381 409071251 711958886 312888416 170598244 117382701 231453132 675091913 376124688 107221518 292285362 642703460 536141074 832260777 129311430 439680029 312966857 267236177 433006911 906770876 891952793 125119721 809364082 224516399 719679576 269167911 621840635 460184903 633969571 855697533 577490311 341118570 531192507 548408370 346127757 599739111 625635751 573954731 634063531 496975760 394263047 962668744 939176129 267746997 906895305 562928183 871705239 302471627 357257615 914041880 264972301 183194213 198460195 606214336 134363711 818312053 962376201 379856149 482804916 157111434 243997013 543620290 123929333 337089706 603420783 913193657 652864373 785353260 428078277 831145566 860840961 622873250 260932826 587386218 161114007 334629396 852219320 931503670 412912731 624663013 878204739 117443659 676126879 503383569 940551579 747194213 318839603 982273731 473035640 369036366 835111671 180255840 644533784 863788663 870688224 223099630 708203609 515274042 147384505 901871829 457133133 306056688 741542324 832178525 868904837 619051315 951768265 845569298 158582716 439494123 244219945 994503695 307484662 489468083 955988989 242504916 833617294 780566556 127112641 186419153 624821816 705409561 529475140 971510955 210811056 747458721 465091033 857840771 652044684 235666642 845432207 211412340 407234143 732640442 675919534 976647008 546553692 232713065 392921928 168780832 387288843 825010182 144284600 184724350 615783827 867747088 249237543 608437582 555572742 797806501 486003162 892443035 621164692 495881943 406660887 827741323 813486827 728929755 126183911 535058893 192955209 645935231 747024088 459234604 850533753 558496849 990481009 836145882 924765916 923451577 314247734 858331833 197900438 247616362 399835549 301750147 254563334 737356074 488038884 429554925 656857420 594414545 174555931 282792216 903014852 361679845 567511441 338606282 364315466 609173233 391114581 122741176 237762622 454677364 191396930 817065484 576107487 447304416 782109273 900923049 946961767 450507549 321560312 295210493 917660431 389678882 364508081 588192682 640183641 763795029 756024334 102368314 885657057 560016473 995311206 709020448 114885722 383417187 785342234 901372741 150379714 526647702 680637109 114190723 689871368 347829133 958604608 223921024 565265989 448928885 573996720 996390497 601123793 825800131 486438990 202976597 434371922 342740310 282674722 434079824 236379772 922237017 956195422 975100826 747880344 789195403 264478607 345201348 586872544 483867120 693343557 236983404 289476251 422030806 854453733 724575275 616724773 137430480 692268590 843326783 121420296 407612982 415171401 778535159 531021209 402624576 268244701 998067869 942933636 970462450 253662653 352183262 717806289 954470285 103994619 749587949 739414630 825947935 106093539 658791700 659607204 102776849 882327266 128553198 477489595 207931123 846451321 891602586 613489677 528018707 939956639 340571475 471006318 180932355 729022391 319543676 468964685 948246248 379781811 501621047 914159423 502788216 701327777 915237613 589742313 821032103 461560998 441965935 643332463 646974964 304484920 317924305 691889639 290153586 144691096 161874807 358526393 969674873 671994301 797304736 681686788 579666197 748392087 143480119 259601043 875526548 388388264 668011734 919588991 972932010 135204803 554898684 763822231 238841418 406174522 961536279 162904472 686867225 117881535 709009807 478348481 185181276 437689693 405287470 348412857 110172558 175995510 378187493 814928681 940776690 802319725 841549110 888668322 691373409 718204423 304120661 863361331 698628876 280006316 778283804 340180353 830462283 849429161 810907322 997413134 757289828 145360404 415428418 685118703 651330045 870441495 271591903 327047930 437026835 902379338 172336254 926422111 524325484 294590199 826372073 114899650 632819522 353179264 519631402 788510891 297156852 573526134 640549350 772697019 891419719 834234604 894722962 226836782 101419171 177552031 242136551 714863147 335545640 487685512 741385156 252187874 476105576 376659383 396451740 169694317 532523311 676268072 346138399 952679607 913602688 247397910 850976133 219615881 948532047 648065789 923327818 592284788 343583658 768694397 197037462 671512610 519714992 987921771 200455233 394069201 459195792 937847261 659242099 672778076 161752565 704127041 990485817 858968198 757850959 939367476 635578404 749965085 415842436 669504953 867761215 824495581 419755883 567524433 323075607 214929269 657411837 112614303 669264059 878532055 277695490 697383359 537723160 198094517 204664423 575069976 860928848 814742169 522639254 850459821 513779608 195296100 570564317 155418392 730800496 657532082 811925130 933908957 708706651 203753988 764913391 220354822 204122785 752059435 244594941 203726065 872114479 751806851 969644181 171954421 682491719 834065752 911024378 978349268 909914696 738248324 152499132 179567246 239707811 476090861 108164417 666536620 939019410 351869642 919077014 183655433 720663857 317107398 692325561 971863594 248934565 178033000 356583628 283021924 180198453 952175587 908726479 353959121 750093955 831535795 481080096 374581323 152021659 531874089 616756326 342153722 124223537 837715672 566301627 331232515 705178186 397153282 987402154 989167785 592914540 128964349 871554346 408361617 508789387 365240850 330051489 296369233 162334305 339074959 931106369 164041405 620664013 258397507 992314855 768858135 345182687 783769877 870838798 183849794 954312676 409526339 972513242 834285124 710457183 608929741 101742654 537314066 868096517 116607502 486186873 281560900 587325569 873715068 304730506 415017760 268007757 625228721 611576426 777246287 626274534 639364369 870875036 460878924 550004584 255097293 279072038 648155040 171895229 699406531 987749942 508878740 172373351 979650905 161723529 949553991 819507131 815890925 839216273 838200851 832864253 771422108 557374970 669331367 374803099 368379338 371578800 469301772 769868136 332466102 642025531 767160620 568058934 139438277 681632887 135928788 231780117 312037020 654379246 589801158 519204975 390780678 811901402 547574875 364993997 170734589 693895501 842624799 550902183 789086358 925681131 723373912 696294403 950944374 668941206 237131319 656856032 459244646 557866876 786690157 465572287 783522449 884112688 237458601 842292079 432534555 468829765 153911005 419133421 409475961 920659952 127096940 432935389 372213843 731365502 115957840 238930112 925157561 162272981 837973986 121745641 752151787 434451926 198807133 377175736 605819028 581480463 552173878 508340709 710879027 376094153 926494852 699734488 811403410 280230481 970007851 729299379 967159000 425067001 914083230 593706262 406491000 339216511 420552799 891414181 104760458 382091426 184249829 268533462 721064345 278004284 526803566 665274917 391147326 945722974 190852397 819722740 546267736 440134282 443862596 349674495 508771701 749965117 831241037 352633344 783096740 546397667 484069928 717498231 445843848 885120770 451106795 458310419 415307873 963455810 189060922 721990420 290652543 885096019 485244145 122192274 350617357 696399014 662349903 737305882 273808928 237758464 636148855 187461967 895576005 281185799 905228644 591006356 698036661 842452641 330796831 177555862 636806029 311071293 139032228 894883900 570500736 496288013 738264973 630200009 210708979 878070870 759216245 962693659 988199159 713797928 487624635 814536253 811222752 836026343 802917425 946989581 704829088 316263225 821562767 647277404 680585449 746494800 731051399 962966210 591812254 902664636 470483125 115884874 451578551 506716490 836843364 722061476 758278188 744039272 726312482 634468771 950107886 779462232 562362371 404363481 769854438 396805172 264000524 191789375 433761638 105698042 934629132 752841761 700639651 341250834 872894215 159089817 214273875 771441722 181688993 141807735 383698152 243131391 322613660 298487911 169512924 529575145 759247781 629590199 581532463 104888801 693512650 256611833 565481335 586302699 783086819 699980680 269214642 548396305 727794322 163395185 276991905 659244626 716837997 610875908 983751634 679299728 703779296 955595657 505652153 137767649 336745919 914660456 211165333 950994374 907571316 378180945 562587819 260705717 909002913 875091561 157596290 267740921 928777725 243333388 625706269 997073371 236961829 669190173 546119758 275138127 407511932 375025975 553401757 164760890 337451411 312895295 760669388 234628298 477609270 171481836 804737654 911119169 805023675 128356188 167965624 982392545 625551075 592335495 703339974 231134020 646664910 199883064 144281062 576345320 876601273 440736567 531246350 964950532 501940640 640206109 981699448 303335001 782804831 533972813 665075766 735321582 819183980 748997904 381350847 459886779 796766491 637536531 519762022 861314421 258406939 215899358 485771147 349967514 958985375 860939135 562338047 255336134 530702723 905114099 282727166 822725341 900040222 323049172 672182511 279402161 851530148 435307015 729102748 720902949 189385318 756542291 353232047 293221668 455854195 526840716 379891888 453582769 685500100 909836525 153281753 628981150 198376577 225888845 585365639 777714423 504735970 784780954 750144278 127788001 313573265 967689137 385118960 467124767 698582349 823026330 970571542 898812305 328826527 649593886 626019840 431507042 765979841 762524067 814683715 618489775 545801631 577959108 851839221 715341766 784920909 705322230 330277112 485358192 302338906 164912152 945463963 782728151 766004967 166397424 758602818 569967076 846157654 969108379 311660996 419469333 288881487 348332613 972602532 390990188 735496596 453162845 511285844 372474514 785134023 545373472 376190199 124773269 257653636 488299116 365027891 153093344 275035698 955045523 388043113 980704039 963772606 296322104 777165614 241222688 638783423 442383753 928790664 625000558 730820179 786576807 199380389 446116744 767991445 685955426 363037390 333220650 533354651 967108717 261839906 554937083 209128336 308564737 291514100 738873676 957884093 428120989 886495031 446872575 760879233 685488023 610146866 645562565 294743503 129549413 643173375 302097613 217380603 161700392 166693550 246552728 958795313 226528138 779436771 434219209 790271057 604592063 577148735 737325733 204250648 794414041 989547557 423629761 342116526 445489623 756106236 691702451 380509748 882182048 935956713 778415229 213476844 262846583 937651962 684914859 281975334 637108857 951274590 187837018 252156228 588891209 381686864 804641670 297372579 590121442 388825682 192714512 444513681 661440779 879105719 675228058 707078897 827351459 417695229 338874234 301488806 736652036 417359257 482745706 234069251 738929677 881322889 923298716 278108129 804996716 880190459 496543924 691642722 459359367 718028472 566988597 129060461 113035141 601108470 843980950 722977081 756787412 418710505 683737789 632054802 790215961 821207145 213351600 984163175 798852959 439030854 504978858 758841803 618298689 493122852 744653880 435264800 277291168 722021096 297214810 168351134 554871263 444663077 956600993 713098323 712270514 336357605 615527136 444841966 980434386 390465524 819965161 916141600 483052574 162978831 176694192 824496926 416103247 991622157 281999545 241949066 449301192 722149854 474353729 783002230 417597195 581231129 775509358 412111022 282986479 324845126 123673278 711952700 468363347 653998926 805019462 682594095 256504744 258263018 228869035 521090624 409324992 707964197 750077529 761636353 981402261 134754124 650200651 590664375 413927852 117814661 999617582 234880558 356942162 509448006 757259739 382898189 310098236 873711339 420891958 247991441 220192512 193283673 647323830 521610463 728792438 413085501 641972347 729762946 782675349 934774963 306121151 279794989 519910029 695623296 505307320 609315194 516826624 766903197 863257517 790759702 515699299 615109743 945724570 202277903 300370062 922681714 775147672 411523736 880803445 710502574 381709236 386009917 385462525 642527598 310200643 660624634 785206449 820217516 157854361 432361985 287839090 831718255 878717970 473308860 831594372 364027676 749491175 202163439 663175087 147952470 810648756 345580998 755260997 214079072 664219279 862728518 583557857 656337052 272784941 894815122 120786169 291386300 235797408 458675221 317373886 374657019 846814837 886138770 821104534 724064549 609957937 909573081 950239860 551810405 197424967 522678918 607389755 321093137 236212112 877854625 625314799 851965981 180916829 408169798 155676713 518446507 391321444 645106416 197139559 574227685 180457540 509626087 489461914 856769957 609696973 827930328 399294665 957855559 215830850 565190698 632274617 805649855 168755989 904763654 736069618 825989653 199336095 876704488 648395046 416862934 733768979 764224393 973353398 721479525 412588610 152056153 308759715 456910810 977152612 410881170 235753080 426924392 128851305 641697290 389875716 281066043 111144774 841203086 948074841 555477325 505251769 821084644 829265253 364411196 183686795 386474977 603682072 171944615 281303537 540925995 869223275 658277614 450370342 957941907 836879404 783760442 131570539 818846052 739950715 481285484 176824214 845601907 132534947 399505799 408876177 327953752 118529477 252273161 968275686 483402298 927704026 591742430 751275769 286572470 229495559 436234341 584868610 716434243 933139477 747458845 404541839 959193239 709957719 265660963 102541583 804536202 510568122 537571910 264735183 169236693 911530661 272677713 944100353 819988033 368299090 308031338 510607939 917228796 135287237 984006039 671354370 332242151 414319030 395874659 370645830 937505362 559000843 418672501 431885064 138199246 584028861 214798907 807969940 457025747 608824416 320817449 314706359 771586006 853804149 360193032 196720998 405889250 148716912 112840639 441513648 416669629 601824578 149292836 708724921 831112937 261672859 772146594 593048685 133123649 658331948 488753555 160478423 190583210 662018338 193186809 411193301 628071481 916423316 978888758 463214444 140557367 148650973 725419524 218615671 592314570 657128666 848439865 443983448 568912794 196755925 798461491 818857833 901316165 247214137 295286622 690935420 739049717 552255201 725148059 867014417 204758696 683940439 583614436 656979321 731147870 958442034 200764907 757368150 309353260 657184248 719922177 355000883 674022510 268697686 153788370 806809224 844637915 674435884 991936444 379397664 268076246 366800861 480416252 452019954 520006357 661165701 677467840 287605723 650583406 813525530 696248736 408096635 178473169 907064508 308001500 160507877 211758259 392666507 607277097 961024572 395473580 475655720 844357079 969484592 817859351 948346161 178330442 619601390 871076030 808824939 172671579 443539377 390735401 606523011 477608900 755598864 278798290 159489529 492911993 827351922 480361980 815993252 970715309 142865527 339885689 305763602 976549793 913221133 673748357 277046684 547973462 459793521 533715268 132490893 570609550 543243158 815535255 309968078 891673067 564516168 208200258 431976403 970843827 332057763 646011654 430165039 283275302 977546109 964406084 552051820 793153075 832542030 665198971 355702682 401232572 140708893 830127724 475403202 581118026 897450014 391922405 657741169 108387036 876889536 247614607 644078393 359889890 755913777 738960877 144876339 351505581 720649469 150735808 621156990 317499878 920951443 804117837 572053437 139763342 689652731 984611408 343367979 224471008 546171459 776748507 555437636 599730564 302482298 922124574 220405307 319101901 222206296 680665375 996254966 892093114 379135828 934468887 145740645 933672299 391906139 436156988 834046472 579452752 505776131 420544579 934027925 740713263 843050172 261493505 767427744 104026764 829485392 550535215 756754583 742719043 816196648 321889643 957260169 693730850 776476003 396203043 271431551 461335755 237105828 863774285 665828462 466732851 385640401 360540297 805384264 833247264 561756139 652707584 823291795 904391391 478057182 609394272 243371453 593785431 647793576 548731961 444734763 721679072 906420192 114017401 932544959 139239303 836306100 265117419 850879564 263540094 683496638 719825746 589477302 952587304 384749597 641786896 363625297 586029307 328997113 247672333 142507070 920890564 248391239 291770326 647438147 766705874 743757926 364241905 411073489 156434849 313390697 280168525 344441274 809586336 631512519 668816811 230907760 463100576 848483497 780080002 252196017 479568582 517009777 421297413 371464827 220169855 477417140 529338587 116837363 503613949 130212729 165739171 686039796 286289431 207428125 271207503 413663101 932134746 907103592 628800369 582139561 443316143 701915412 466114035 105092974 848051087 223979769 589193451 746462724 949668886 537281793 958772977 954178141 459305215 908832680 841957972 266026833 400703668 843688667 429801942 923489534 212518493 734295555 362377753 875877295 669466405 566242331 836301236 358244639 257343959 996548865 324614952 564159057 835754840 469564625 193088254 886433664 380504101 250687718 110528779 930304853 657217175 503293149 392546510 563144125 750002479 573468172 158359208 716606781 807740256 108968626 615282991 741168341 524498689 634029674 902256068 228130633 149729676 858014955 354491092 125217051 399467003 852240177 129061419 690676038 230178783 596141251 470079785 923267090 433229513 453212960 407864808 553190032 832725689 252040914 304184990 511655765 287552796 754869120 856544910 903608528 246080640 404501180 638867435 600662320 933963469 893219973 687942372 983953535 301547723 358686276 558734434 275824385 677371665 763553215 401689481 271937115 658307564 727132675 491779986 630346654 899132757 719526395 408300035 287225479 449217893 571279705 527334798 637438979 450933459 768017791 847238587 911180287 374716358 447544369 290179575 453603285 794921048 489394653 690211125 977826325 730794879 526484066 453035679 751728815 675441217 273554700 734779136 794738418 658369789 309329510 318591943 527997227 595072319 712535561 951675909 959716172 564249955 780728796 759917344 635813270 321809227 573231547 474626349 223621001 396011598 609298194 146787148 295069024 430274510 791683820 600732481 215098732 592642485 364866477 555080419 981332742 432382410 418917573 623875456 481714362 406560486 713598955 467306132 677173676 890195827 823638135 721623692 824063652 749836268 501684456 404398234 797524847 295961066 810331828 551326062 736732447 804272308 371018305 549164852 745627816 915003180 580736136 694153860 722897517 770820652 518235873 972671495 927440150 374377185 667710381 819447991 411288015 634799941 425137102 585727271 509389157 948146242 802744171 991457574 929436809 385064828 781517738 258430117 708471317 565774097 498562270 373727452 632892209 232288990 345823975 923005993 855012844 231201473 852110353 971073431 762072500 635044848 449952411 487073672 369617713 212476181 479415862 806387906 901397183 435403539 798339917 577099048 721063076 733742589 758747989 978528346 394048373 336421906 635368758 804345873 968507041 295611653 390539124 173261951 859831857 830550949 160801064 236333371 707850356 967084628 134290602 515537861 418437924 688502015 107879052 788362327 337484266 680433758 231928682 629678119 835680034 409862581 317685015 187074586 760810033 571010506 118643606 119586533 241076635 691871653 612906999 361019688 577272254 950423328 160524572 751147406 782125762 185072727 824930090 231150117 976835445 999568790 979258002 939872534 817849839 784943427 677957838 493647682 842295928 271160617 231174873 403360456 567304591 628569140 687482200 229720560 776492552 676650539 574870394 352577809 928925747 705126081 156326282 745442188 633593819 400212221 304497241 846657403 947149340 919116882 866621048 533255342 999089679 292173669 824697249 682513026 507731437 288613907 227246376 534374592 397415635 573455758 155109056 978468310 751389624 855913243 404345186 127990720 644772540 349467498 212276027 163012423 332890719 977019904 946148508 931991898 922040586 245511638 956343584 886237871 315611311 797823645 181061763 247463451 290178278 462055613 183841995 966453550 204724375 764180298 656767886 476824976 829418037 116623153 722722809 772850859 784511993 699216070 896919821 209084871 455770672 919663114 125193835 538219398 590543281 840867908 116579264 662059276 373265028 743939389 761562291 786279136 638403084 933441887 489884387 718949448 514986145 360434447 659909899 291973672 832399640 792092527 343721959 550981322 756296506 473776614 322494867 585325326 944815276 336105332 185635373 365878955 113524658 497277488 223925515 282317141 513188859 314369775 238918229 515284949 763279044 672150639 138023817 989035757 453005120 894964056 426497228 687380850 985533849 147036945 993784951 929212639 321236794 807359263 221499000 124809523 635698352 954604855 686781607 947533395 348992919 804535862 319301394 849529506 961359189 602453986 973850677 112308703 189089411 884618059 781106083 881676591 900959994 433364439 686527774 680147304 706456419 111078937 998029442 152192633 732579888 514714983 514130390 453158619 682012705 431586508 581557260 865319488 295182429 574550458 300962131 878804020 928074721 872427511 594902117 661925721 749770269 829328214 724418072 104872668 419258227 585515940 545014799 661042562 371517807 553819301 224774886 805153593 920362078 847609507 943221129 811172132 131354732 547588317 349293687 570348928 671654895 812102646 274016996 680750358 760628289 842891639 332839155 124491114 125497376 971877058 609740335 244086926 578095848 249227997 887413747 469949879 538158565 298332231 690693552 540213556 290251960 531010293 313848244 913004733 631715414 791061077 495094255 303225460 140589159 478990349 343016222 329798788 914302329 483090221 488580953 422619027 970193105 243189173 318521898 172753394 883305776 708331536 833559737 476302380 427520592 130371063 234131997 742102482 166597432 927217773 402375348 953317634 997969691 974335922 860409615 838073634 512162260 738502251 206268813 745859353 258516598 200386878 905873702 843843123 817934745 332252218 621379461 868239093 903169716 283761531 946083704 884029201 442978072 981603380 538180270 950228059 763964742 825141159 915152377 954549541 678821673 222169452 463875753 518668139 745764945 363750052 119873881 883201492 389418481 130337099 520972931 945750477 796781028 767415389 228231320 944908078 541176711 363046907 149378304 527075837 280325324 423875069 870914953 586959277 472714369 351606103 800642452 825311467 920689744 543665625 315248134 273065947 891189083 889847638 603266129 619618470 241589414 658688010 732354420 757518980 989042786 116125627 761200423 793587922 643750224 845612156 764258116 509007837 939020151 140497048 582053637 286035378 213339266 576923931 346675906 583324790 648480356 838135544 500268794 186516534 232630537 630676707 489840733 946057048 950919863 152594873 577988370 225526130 607113420 941969768 927040090 304858173 325209105 139683892 346392964 425418493 642353301 498975722 767390650 303176965 914081367 165391519 814843290 504928507 567911900 278882765 411556440 640516790 232825639 288883734 755934011 423157456 274011590 458017401 134602157 309364362 754991422 199165580 702052344 223383487 475072919 606217540 561970768 408201515 556474459 494112822 153231544 757024634 204169936 186093148 963456219 201279489 419684223 661181916 987855248 983891515 101934398 979043527 138256651 923261795 184643735 137334461 537498339 234395138 263585996 632524739 426592735 396804784 499354390 706936408 768003598 553153714 544229044 310578899 874157606 147985216 974173653 539749608 649690530 598772782 756999598 534807926 433808595 687626756 715046809 261380943 893952519 176702684 204636651 696124580 517868909 657374892 567083585 996389573 440208059 375497100 124006355 800978739 413268040 575998270 238537985 746892658 812104276 120373780 877064503 409406887 455790085 251493198 687280329 369334001 242762846 939592151 115934588 353793752 997413592 851829961 836167518 174748789 888237588 579060183 125794708 294635608 620749604 908780556 866926065 893379179 573719796 692327622 456795574 358335091 880681630 637950480 852341833 463952949 607207646 170272165 118688428 198468828 479542132 841821311 734862144 163943180 728061068 431177939 615104907 361855999 591607120 631576607 338568610 626948252 456978684 829178106 183479872 893691491 624592514 326309190 531211867 759857814 102751974 748302533 647461008 871280419 951831124 637563780 524746444 220737413 580266948 439530448 301144888 460725411 369020224 261004665 970492922 227512906 694526405 277451706 531733409 395298517 478241230 418374170 383729310 763714582 689110760 883621273 409943658 190672439 357447909 312231917 994405230 477406291 129873852 990278164 274591154 447727814 375817499 691705906 519944224 288783504 822685737 213302045 407307329 896615657 920516706 768860049 188326062 586210034 357307652 924523537 801302643 930989830 585283564 427391471 402785927 342909760 158358522 952027167 812869947 224294606 666883310 156516230 505682629 694969087 221884577 884369006 799045951 613453707 843567496 815890813 691518255 816275173 690350918 314203617 373186239 883032765 216895534 139469809 855555592 582996774 164847867 156387672 171456860 210030618 349018086 698197058 308854733 393877865 685398227 229126247 475516676 729292196 597505321 448825007 620418664 200645463 542203070 314033759 894010024 224609591 870857130 999838823 161505163 527045908 353141688 868672986 184397532 835429346 891984949 423171294 410571500 403790764 717014581 435283825 149266463 264650077 918037888 189836178 739875015 838215698 948697064 356628286 900869021 851439177 313623455 652307603 536437096 924278130 414377410 653876469 770237671 104069782 783765787 296485413 535432342 625914556 829465311 198238730 787055724 501196515 714194910 222084177 451229493 263066977 200481375 698495880 319551654 634562489 739260397 314043614 755008096 543646551 656390969 334286123 300235762 270411128 636438238 605506011 154851586 850708594 208830928 598377722 691357387 370620669 659060386 932044093 533331917 411207088 845804033 428140630 687651008 221042884 154462570 984296999 862853176 918051023 155328448 789850344 106042451 866322354 844821210 719905832 938321789 762266639 400838999 364683019 438882368 275271514 915552215 390763850 760508052 262699550 790447748 819771927 478537122 667521242 748431244 953927789 487678995 931721569 829464663 883659402 493833909 639472630 857426620 927066552 241427986 160878280 299909885 924739406 690528065 192074324 915680272 379024918 219626729 523577479 925119030 904729636 960305217 591263168 125447496 988837294 243289965 605343044 399460444 564204578 577041104 754085699 761892420 390035750 590329480 719730152 777365189 318840541 153827798 532792263 955492857 475195736 509537122 369218730 106793402 486695199 258846722 659930311 767313147 346497091 520423347 751775756 393129148 159952751 839275069 337020466 249816705 354614954 549844359 480135670 358424510 799194719 371309921 212211782 669132231 465652959 874534470 411889361 402287410 710169036 368497194 946276761 402401889 745451179 360512024 896157891 356343971 826161926 859991948 781697434 504354852 265104406 858814346 790982805 671907717 949987300 730072279 916104424 458259077 789204631 389062762 152824386 860416924 403556937 243730117 941416701 312006789 963939581 770840427 856729149 216035455 936822857 367613251 976532563 296257055 139996104 954963706 585842589 142410928 216359554 780020441 479178987 852133890 816954076 239642987 684129540 322691323 175323858 735830948 963800046 355310394 326544327 674091189 818388527 733371255 552470470 247928076 723479784 247354733 121873827 676660468 547906780 355485518 364631646 949840125 169881930 869277649 963758725 574272422 626608426 794612274 501279963 798403841 212874617 330244356 360244118 177258219 747033129 810776067 492139869 582386571 968398782 857587978 314351865 202575477 560415255 569363628 960105977 664785103 939610080 241261296 476369512 226546433 172783287 901045389 739150150 365934529 520173465 333235865 662056422 791129729 158937803 284748017 893813161 656554504 182161184 350330912 977072525 449598269 881030979 605438372 341440484 866286801 537821941 850508352 638719380 402600912 541317184 813008308 515093786 554397913 677728370 634758391 354459966 227634280 884459127 678266891 138594926 766896160 959855576 629397244 161925127 793934964 820700672 790548707 774519410 308318821 201665009 392038576 750437143 804655085 305171721 397583502 296348561 390610988 903903663 869738713 229123401 498565678 487697101 961650478 551068725 205159649 850737835 392345400 877153075 728713588 686405319 280988715 185945546 736391268 615147637 559164273 734280304 346545658 648178496 625772417 847869760 838525318 805749199 162814218 708214696 532787408 817696394 932240307 443573442 516156920 258646526 223411868 651997386 490071248 204903398 113051257 379383860 979861936 603878121 929705793 535243305 303444514 181990582 358576962 706465118 298990818 256402895 894481388 863863182 630050337 420201929 566346629 596450022 805368773 420202592 947068793 547832726 502278403 115409482 816493715 267132472 376680635 908626325 441380602 644834976 844960230 686078450 302433468 868994503 190388328 671356324 282009339 702505923 761967159 509888461 858472582 140250377 215364253 715672987 833714177 586166143 605273438 476551101 458333542 472502325 890679102 831426064 388110511 272461395 340134753 243570163 673689712 226787920 507951479 710421952 428077754 405832887 364211695 926364638 595111624 453182680 281423014 715798665 731978137 295208334 622950032 109528304 707196643 357489699 116883743 869644776 490299535 637697016 325078106 866399768 356515046 888937446 620273280 363979906 201252398 921543852 862639012 688520413 741651819 995925729 656479305 286238407 650929191 643918027 145509011 727646252 889034967 240463125 607422456 943893567 205730048 124839744 216613906 732065080 492056384 470187458 849665151 689778807 895920093 172324729 246095127 341103161 502888017 689542963 503333080 421852070 820444439 361244765 841399975 303892602 722302248 917960250 199984017 650096990 555984077 703691393 632687642 345329455 836510648 868602971 517526649 318678939 403976074 370442427 398665967 470529344 836768371 111466841 687838880 305841545 598116720 384379212 495282448 941423913 726467526 800836994 929871647 715229566 921895441 475822094 466478970 310647999 665085029 807781472 491800624 134249950 638475200 188667637 741696325 596914336 714549657 487986512 694924118 184048118 129584574 828210037 566143603 982863317 997060107 282872577 105885733 212229352 244435191 651407777 929326180 762778671 215646346 821304113 481494373 551367563 251677424 945632513 560489124 718977889 766609481 979443401 905409254 435950415 256171047 448235487 439038582 383261925 812087284 355170342 700675784 958108867 501402319 245037109 582140206 594529622 273899848 828291638 658957001 965249781 366043628 102596832 115195170 865349380 832270575 612784521 839280294 308656015 309812037 715717323 306842085 447746678 185095316 888321852 886527944 993467894 957296782 845088612 237188237 939805602 106187468 473608759 835965310 811946048 376337113 577079724 490922722 585869516 441295313 638993445 771134156 420467530 347229929 418888913 178274037 900171293 921605778 670305367 727116893 894537994 962427423 159812821 506863486 885174786 991168925 774349848 818222388 801836223 481443213 149973280 405228025 219735142 817066168 617477207 501370493 261778068 787239321 469048272 421700903 412564268 707195553 819009682 176590349 807854061 582231650 356459410 959610930 968091440 952025051 274311314 382351692 724259621 255215159 721771815 748373388 188078850 364455830 582043724 890474531 132683552 406892384 502883958 396739560 978258390 261410355 727408087 633600669 971780027 713831680 285980559 419291868 753081116 809092566 580136514 220193716 117603899 414886584 906499875 149401322 186567201 664510601 548152251 524739489 454727926 180642156 966476712 630604642 577855643 655268121 784710759 468324172 964729017 315095011 652379104 266677210 551478824 920221316 599811468 240330791 556333005 308524555 970824352 952850004 590352879 726874268 380150009 343336496 108235023 613315284 429962726 743033222 213323754 235925955 440859508 189487301 886844930 139555976 357593069 967286066 707148341 138557555 101443423 696738584 989240828 577908345 969104713 946553293 687952459 769625133 133010037 726424530 301021833 363138772 268899572 771390300 907272813 709824922 604234757 404641754 348213853 188615084 518869080 191248481 180201882 976665937 788940047 658971797 205700260 117636420 610483530 558479196 670579163 180186805 705779990 364547131 609510969 863959302 810722541 903574469 462068144 792530460 633237341 511015196 194354398 414939437 361797207 615649598 419571653 554975379 598194009 228939517 193033659 107149266 421015469 808139105 124602638 715961058 127070734 221396671 405314266 872136966 964579265 869600988 345049540 843309991 265207300 668877669 357204430 403750631 611750011 888662549 336150110 617226231 254160625 442837700 139896540 963336452 430623268 282849617 905016913 481398730 318856324 793570257 372959663 358465099 820209950 625515549 869078435 843718815 154897816 669936140 844278152 639834653 690451145 127697878 266346863 476676117 332345568 238103256 342986713 220084532 283789456 719651362 886380873 758033128 334277888 885112372 616608237 213148151 272421891 104055476 488241028 931445911 556017736 326108727 380621746 994747404 763356509 883526715 176738687 105544098 162479905 792791128 412060819 707847672 769214740 764413803 179160662 345446924 601926955 450158452 749987718 463698799 554968871 814935666 799307000 138453767 373670539 653008603 127410010 464935717 589031735 386152863 939295505 649248329 859641075 992246834 746316453 108353112 584882480 352454302 610360665 731383719 564513524 569201414 569900274 530448106 514350225 543286233 683842505 475685842 664373727 963550599 605385806 680121953 542629940 917755414 679909382 312419560 923728380 724894774 848350627 496627117 139940599 882549824 504222347 294396570 258289949 814097200 370167847 868232985 136477974 204305041 841675041 366601500 551388532 947158211 791121195 382503201 966554900 271692213 645711621 848744318 643749062 232644255 849811209 282539202 911419718 914020307 312530639 431255384 453387958 270085876 601134494 269398547 301671804 210716625 945870717 450711343 656059767 185140940 644347909 450547761 887562313 358288688 393000924 953327583 411347394 715355826 546971324 334025592 104771441 488985800 908065728 468636125 953712892 316163964 444607945 710860353 410677635 300685875 456502283 304461875 544715986 432552210 246857503 496101601 359420575 197796063 210899879 347986742 153389389 173083700 548007580 562269947 678230777 195803277 996132267 813861449 385093423 559947690 800442095 295827344 127045371 194367948 478700802 722297800 493210190 928910204 385428543 910821031 181751207 839255892 689219488 847652333 818060296 950180983 109409896 527318646 256302952 323611638 357399102 483581136 518002888 292540907 588901759 389275785 526709974 754383472 134044956 582797206 767747151 431115907 784794123 106513277 603815826 405930765 460298221 375679299 584574167 500661301 585435480 163580571 145782179 583547377 121172850 440679986 190026608 590436112 141194556 413654224 660277518 606611593 636639324 510832826 245256638 109795167 163817622 285821131 534255691 456581380 401263119 313311972 927023050 103280591 908169487 744385954 391723787 634270664 494682017 538588252 983586456 200348160 706371710 122560726 173792424 788902209 663460471 671268424 233509059 463761388 879480647 522058737 627666709 135708603 574572945 965334235 196130303 700033994 145942892 138557285 348416947 752440133 996342195 317777172 506388464 342871989 484821989 636570680 477186842 295412516 490550990 451540928 700104494 824049353 802603504 752382737 990393944 562460649 244721072 643914843 897306653 305360381 774614746 346446081 286379231 339124841 442694359 550593060 398661322 639664104 941364511 955181145 922190583 641762593 382307296 970216781 449376110 877779501 157205244 551892729 916196684 332471704 338642776 908343970 842247601 142051206 424649752 982328690 819437451 658477385 691466018 136340407 210721924 104146627 670335471 102406600 747901725 828575277 530676886 625524688 221990579 102330911 857508631 965680840 433093991 332409295 992610397 105032927 114432438 350851399 895804132 589045786 885681088 389042833 900307359 146398676 952948220 884088375 973739112 742202106 253596480 370758084 214367284 867682940 160914889 829091671 472695176 772704285 383487616 124020914 604413363 404108403 251430799 805866391 310038441 228838533 478374402 700650128 483880953 889240461 658896404 750185253 946037027 636994722 742229699 446785633 166862449 757315959 761448889 637179907 491721079 272773112 607803194 141970493 649054041 670017969 340939343 770142032 473390765 892650533 946663096 686960957 641046435 501415580 803599599 645538381 525320559 220656126 847584674 957948295 732167074 869241444 113137268 701686757 622228819 446045061 425783942 378233947 612112313 836510063 155531336 550274415 756333703 140682472 262843221 465797013 633537765 104699810 277074493 849119726 979149947 145623666 888951408 139327612 291692461 168522280 459225368 511905263 523738700 490458906 171251009 784147605 830254292 502349153 195178518 123896954 680125582 806797202 586265195 232851989 386205872 977512841 251242933 579381376 395175135 661706685 576152117 498523986 972969809 833056893 332293123 748196123 444024404 285627882 566454975 141069050 295515234 247023477 495379298 563223865 876039967 538152765 346951817 798562908 904863288 900530726 263879100 920900468 436480021 382156772 598056353 349509602 997248725 472720287 153480971 887909825 646468614 199361337 842886005 910041464 943055782 713328232 156101735 756093493 801807908 859223490 797465374 936485953 189368288 676503915 691116870 778981997 847489918 110938927 317078613 336981864 802700693 455274422 256065863 223157664 936084548 447883913 661815856 747221821 477243181 196915156 348604475 687969504 752831120 206395678 117886521 495083090 865327425 278769149 363948241 931438424 607291832 226085013 782619064 315890618 985015643 661772768 135272569 913278586 739846966 185254473 974711986 133923863 223957493 944523926 795900314 184719358 298897951 734264784 213953985 825602491 145049350 708739734 409209789 505031702 149202753 291997158 158998312 631536772 621725479 382259811 580826839 654345473 255863336 698407240 570993384 820955606 117555872 394329573 629823184 369312764 333239249 482514826 671650807 588473313 493987938 374223124 502541036 983348418 237854456 551590152 385807525 428816273 363085487 698163769 599085997 516099056 164025787 225679358 933110121 733947080 337658786 458863930 872314838 468913520 352678941 713791259 699290053 479585284 731982045 881992238 104993418 523670832 175811094 375015274 401779682 124406868 312354967 852299639 820467010 773166320 971487666 807766426 893334632 932136693 895982599 279094385 642412150 102022781 836544569 212650592 627275181 702963060 843128720 190640191 800144314 824295112 462907860 633939951 680816522 926335161 252839683 821515780 128477628 851214483 234462749 479264425 811852680 916491285 294240801 389122208 377916011 955681575 537909461 503947389 122655597 491149414 997929936 534466329 913963959 843786782 102160207 702707110 740479906 694664998 950683515 502151731 507118828 694307455 193249173 763287293 465526533 414874412 484028103 963898198 361632829 855226197 496939944 159508041 736013589 564982544 555170230 676544361 319486121 640223502 821706358 585096000 397239197 894184399 607384287 564283735 708238966 670141577 405424012 762148378 413692558 817307458 925881885 364336671 195947270 492988825 413558306 117048707 522865705 324786984 514889893 561009934 681044036 505394752 253595603 546674937 638300428 201343974 915989680 489886328 842541931 492085304 124902210 334889899 549171056 634404534 407251079 529984143 380161872 372916178 319518065 469850352 842588500 594887101 828815836 432379607 594379140 393383833 938713605 542228050 235937981 100821676 914153815 766954438 711931415 395125003 560697634 812807621 821652760 994565651 454218267 808442940 615444158 834422075 363685750 170375022 620366396 311084975 768064023 620233415 349788073 194187451 685237930 634924032 765336338 670021503 730694384 429002419 131760200 598531681 190953368 177880730 300929246 121288316 536850012 131992855 159332151 896622375 623715166 117926255 716536305 430094952 612956521 338045267 862803040 339831514 249788111 140423920 935040961 174537380 861247814 377536596 744211540 800504598 509516668 913745290 911001030 494681368 979426844 103192826 306822784 906371544 837927956 522617639 917865080 509012945 702329058 355057398 658606576 732851873 735490231 134481617 380611071 153008942 629352077 214092706 638341519 316704918 751155680 432411015 146290200 877788399 622877509 650037776 787896465 244446084 457112316 420203026 736177219 791981950 967259870 665545798 718121341 916785505 499228124 608486494 671006601 512553922 530270352 246654068 241122756 905180837 833911561 479048867 401351025 576791775 998141960 263273226 837689851 608595125 468322341 608976363 493013183 832395050 654121296 985557015 670574415 551287224 468159669 458276031 741572067 476762115 817039966 348095169 731096514 612050954 199984151 577715462 651007042 488440766 271405935 990338370 987417653 480785488 835026133 227540817 884821081 513687144 940828847 327552010 651467363 649168686 298535653 771784218 639180870 433335650 108262050 798937220 563188407 537917750 123868489 488466651 360589696 591009665 347472836 195840577 792586832 311079267 478497246 959349020 369056645 722723981 922572331 801688390 911155813 456348362 172538354 658868479 696280250 918776710 338201366 628169900 514508583 412726628 414506771 304001103 544278769 107836256 158189334 319162676 313608631 700235632 238462858 727803717 810039914 758943130 851598677 946781969 442460933 824732090 180549232 901423431 766596139 785672675 461740828 205704369 332448792 754804039 122757543 483351098 654440231 138938849 208849548 414069344 591142095 593593942 506781769 296869202 937454771 318606237 207481436 128787863 321588630 793382373 415639689 373260022 721738842 574765020 164806038 901314849 671943738 657355242 292646389 804164959 868620240 659182818 746768645 877929134 270676708 982801314 189840395 353425931 466210123 970068999 516072688 651505276 606940863 165503190 642710138 568223436 898476102 291708149 567137060 765312717 366578622 427999683 624584226 400230727 173436210 835235111 120798599 516636686 922428736 970581033 507612790 843624456 339134397 385993259 601958858 126530975 628321974 758470900 255929432 699845511 976763705 314202452 114995983 366612634 451853728 883115691 676341651 620364172 622537990 481809835 747729081 243235124 370714910 109377381 207581371 374306031 540197417 631353331 433604090 467978102 528733465 246556721 598544700 488252924 775545690 216121754 622293158 822156111 758178410 931657791 760958495 962867654 228721459 450729763 277331044 962935295 505720464 121301717 715459436 579154032 219073254 939966571 106666227 807654634 179337978 761628130 704878375 422208342 187347343 744080068 726376672 591058167 105091865 984221270 229770351 883000663 111414798 436676380 567302690 319170157 283239668 857055401 964059173 446305366 168026541 553884624 621016717 115944698 830611624 426961343 196597277 886016497 278839159 635856974 436417190 437396673 632467921 105993939 201454761 443592389 586174565 819718375 475422383 739108608 255458990 712556123 890470615 544936276 986786430 457450168 581224655 731630706 679455365 245459902 172967142 541029126 488378074 925653812 529220653 839792807 492037122 591255408 469925335 492841399 660383401 859691046 780849814 366042324 838011645 830387343 732857250 465304871 222799016 278077373 983569662 432640009 762634706 141595013 964928214 508564048 666865137 445415824 564741464 421954856 539711321 704707267 597641381 638206728 822036422 128435257 697356452 308196828 196231059 896842541 611874088 411721007 337726357 310697018 240831527 727691895 116073896 765697046 526210741 974141128 894471597 744039991 859872645 740526491 700846600 191875929 589832039 450159297 102629724 228871808 180864940 274236760 812870706 662632704 273534724 545494666 967955808 782170650 765703458 431606990 367967282 180770947 270484613 771872042 679416681 237811168 123142475 238459253 326044369 866220245 196714054 669103939 369594653 446010333 443757673 801055563 332284071 348904246 895433172 736217111 777803969 546308944 861877002 603772235 641388179 509963929 798114098 195694165 346911730 401686810 611745712 892086328 175500598 328589204 272550938 694185904 522302310 677388684 960447838 208486342 225280619 539471344 637874935 296161049 901497395 810727942 937431361 630177194 685555341 670195662 707417353 362858388 199739329 906742021 721825964 744748189 596421393 201570380 318076401 819028592 375753683 482282975 464562271 431746431 849747078 883402774 281413412 831850007 741147390 568281044 867521858 123886406 588407941 874663166 860268308 364826112 867122975 386851280 500557076 671646851 534745738 357968802 520258103 865496803 820773230 797112178 680566197 290412386 821303568 441995833 675207916 862690627 557456760 340104037 601095808 318172887 512778073 576793146 419648079 934106349 494961540 501989979 375215230 161790362 731876401 455039856 138333641 555374984 533885521 199438255 293930992 231541180 348881010 994428191 493230757 272616742 270199174 363951895 128859711 464839022 807742385 757991267 181157086 839158689 885598061 684907891 843820779 602315374 808268495 531639097 727963119 587975919 960562098 603242135 437831935 587460210 411228511 883703072 769336099 444765855 523969648 247263100 569475257 690140226 291465848 559024995 614902729 400791035 370564881 178148026 676575779 514251290 519511130 899217667 371879452 812693851 139790404 441510389 902001635 505945293 175634613 480315379 248729614 759131913 828504235 758011341 424457273 847203719 351038372 771507578 813928631 111101029 747061589 270017335 526733983 363086557 995936467 661461804 406081612 911391256 319719576 539015818 448715006 592782029 916319653 780510577 893955740 735312654 792536418 189978765 819338675 192365802 861177227 442278379 884151757 491461110 980834512 213121040 787176100 379859733 489474580 637651830 582232893 473918946 415424694 895227503 775325181 617197126 914423146 320969897 302158085 649519421 239586572 691489369 970838771 632839725 912385066 234910841 829666272 979404123 675569063 352573856 755559979 181410673 239891517 136029545 645294890 376930787 383889648 118638454 373357418 983346757 111370715 319705256 627527573 137814559 318893077 690430062 125562649 750273332 569142338 195761216 195589450 138324945 206680920 979796506 472880513 378541217 140259598 879989632 590619960 134543978 257612542 388953916 686395210 227465227 812615168 957526769 390851113 376106654 135881253 576224711 459369884 290847233 428366612 309876693 763351285 735009556 708126850 947973114 598579974 240140986 771788680 872443105 315111191 443826109 988915210 814948894 502016916 903372937 695406241 483222800 712183563 300576221 108444633 729658411 949866521 120569622 244937191 418137074 207942962 133763034 665076715 557568019 548871341 749422403 692296904 536325318 436611168 594962005 594841367 961628603 612269101 333422732 330636296 338486470 450844191 151473862 602006993 494390512 330408835 293224457 531425407 606283711 322772870 838684070 240226071 987612509 868394039 484920023 730596984 757074410 191222752 374963494 225055977 670586440 691076800 779097608 531894650 159893645 713663804 396275753 677701810 982023512 466268231 941496405 252931326 668886009 256292149 122010946 730083402 629154038 980892410 904383471 446516265 544428329 254106315 442439345 574594744 867550400 481091721 377693701 512540514 578626106 245807937 818769665 912297042 868045556 259266538 873608831 433605941 204642479 827534037 440140233 658376803 848961264 521665126 852529633 803944336 576219332 280859193 512227007 281262839 723597045 635446230 599274106 917862003 847902697 293496671 868992494 576307343 671284524 893414060 421676093 818877641 458831718 200783687 999834815 836995435 504997873 936856976 231946773 641862008 268955804 370131669 721644455 933406586 672842188 165028438 734749101 800400489 121645020 704044401 753326235 343139158 287011377 621723844 868774045 792674975 689246080 135890866 271439688 576142245 668446608 548233708 629975682 290074078 863205393 311788855 157774850 301491098 363224850 718417292 807152291 753090596 809955636 411929055 192325671 392780818 659297180 572663494 675639546 387384601 483612681 657445096 842212458 966702877 716113863 153718030 831898167 108309570 617272388 223818063 244007903 702163477 705587041 956837255 720897904 170340561 404667018 573038646 928116748 278498258 226052617 363166369 775090284 784589261 675840807 267534347 322243679 895506077 714945994 861823690 891448288 965520381 778577015 905071482 481075013 215966919 632268115 238074735 142291297 763902758 204591877 129276332 522125435 293383907 441238066 590582573 712391718 852677466 410111777 386062034 457559330 892187336 307199971 228563345 145261653 447957019 252417839 627291244 345053676 171314999 866271958 417736462 901962582 244990120 337018780 201826078 296215070 443778639 103034369 494975914 903736213 911393761 148089515 807199465 196684482 201559190 147325415 880872620 207076658 335761237 302679109 317567197 630699043 695688580 392543838 291230615 659424044 214137489 201198669 671699426 607637459 771796480 821188951 648744326 219157087 741270507 176486797 410626707 936167268 130975876 153878336 425671694 327799204 701651667 940507159 304508032 355997353 876134613 563536613 465446344 890995882 320141824 259082582 755358997 684465006 624632755 783715992 428216454 489583864 750419025 913718742 213528610 759467082 396165287 508396357 419089786 889774116 544322500 195471551 546514038 563738481 721865254 283485767 162456405 514934841 620762045 759653934 731805689 191850367 680410917 789869757 403899507 525155829 807391633 931037452 947553475 993757393 951769425 495677202 670115115 150612092 358313464 145705095 180041883 872666547 308266358 301815724 303706978 646364450 568207034 995294386 209321589 253026392 188192376 896427874 755228514 975977365 647422529 561321822 131719661 978689868 371431015 916187668 903019030 561001414 467209769 185491553 847326852 862198843 540158230 340647684 574919061 751317901 979534281 296630063 347322530 732578022 359966747 214202445 599673186 985168617 368700628 326309046 185520759 252365065 324331025 968076741 274071924 602830629 396639834 802245094 650569617 720009854 529342581 992634994 598177919 762977665 859079513 984211806 164473636 478402311 395032666 338501183 778860879 902381149 514947061 258251247 396984425 153616546 970652756 840133855 145322625 805468270 176233567 886484059 171551638 885173677 244580957 649352692 640106725 310916050 479780356 644184375 528041553 780619601 154760569 154985371 600003009 516594516 142011913 259271496 821423596 823721963 409680456 531617907 321041477 756634358 329721929 325464535 539607718 697277979 541282697 967850398 736004441 769714313 827877409 417626591 878422559 893973808 455471750 590552307 710217845 541960170 111835674 377711814 259993797 186911186 261975630 959380682 194420818 675425765 410098835 793085675 347062385 170362088 631202889 416235169 203134868 279765397 612617747 836402679 336946494 820190816 596654223 409523276 136961223 244779639 854539889 607894470 178724547 700904445 780601827 540713669 292358773 784033570 854473664 280175038 911715059 298285709 724088184 391754356 234969077 649392426 891464900 849230801 420305417 789200057 115734389 149235756 336901715 389396898 722598776 548364124 961795983 530107611 438238849 470356773 807251064 401999526 974170664 971674732 147939740 114930925 423979953 259001293 828002038 960343374 917822400 107285219 843500611 578327638 330162149 324702316 912673758 159548915 523355964 930824781 476361594 968752292 850010538 997251726 812856466 732024203 333746980 821726068 965566655 463049979 841082851 868064252 706390802 302615683 522393860 297085244 219664521 272157041 277111109 709764894 599278857 984950023 761680207 874764677 713118691 522039714 919844710 886572559 587142376 369382591 849888510 826516796 540967991 935817170 994144536 481436246 828376298 741122550 974190953 636583847 462211907 419895418 445423557 511309660 852027143 651319712 315068668 694831282 828120491 832242331 773375633 925974905 140899636 412777999 520561748 338245505 470364709 421635185 356067056 848981230 913702179 362807253 336296724 143532247 642888859 925216971 377305454 161868414 239646107 262832722 550438495 475838272 710451395 492746331 309398928 688438895 559907511 316199884 687085958 352319247 788092256 319063585 169125828 210793862 875211688 733737546 482399555 888535407 499063081 386783787 243740304 763328280 390893612 755359288 999255825 562347596 112095618 719468542 141220932 533101083 174741388 570730076 663420191 536452910 490010980 163910202 253745465 183250609 155431060 171770290 644836014 875901144 263849129 265181040 192306162 875022652 949632665 359166906 830689097 908630964 620484300 767343158 707139548 416116436 801504089 842721143 652151114 107619290 468205384 547518945 920308404 938035686 781643581 968248001 727439875 677661854 854376049 923782595 556393467 942771020 797318843 597683714 329819299 664769735 568864357 328162055 217691441 440672744 857059047 938363065 404162539 702687907 949341826 337550130 180681712 967467705 647241516 572758871 732646791 553634585 530727232 432580181 852326518 784327139 982787176 587899932 778807814 413576069 169801646 671351853 639804292 895679736 403913544 557715976 636611465 802050201 112605123 783795008 427950109 719876669 889977095 399003386 268403831 487581747 580209673 594037502 355287631 784310659 577801283 908417501 392146321 384071986 482265115 494417644 549544021 533920850 664583915 184839956 133196117 444014847 692503103 580130995 874805315 214325623 712527511 514402665 232282797 329421533 555683642 258713656 979920074 529251901 521236409 546577373 124369654 823357936 312397830 446537930 602110669 174590464 979419695 930304230 719531089 808620556 847742157 807976495 486882653 693468349 385051508 966253641 725670724 275352181 287884735 326203641 925387319 183928617 224670755 313505074 285631206 217727959 895428928 136430961 584699769 483981520 807484391 100124994 855944033 914131684 728682115 109665436 547991986 771331642 891497849 947355347 136002884 823566081 344883124 376953764 472359799 976699899 702496428 523001602 369149879 955233236 812413783 136303263 947057855 528540899 646470712 103230755 786951070 240397772 953988654 898072654 941350050 655194283 780354625 675844090 367552466 768806435 308212817 626292732 578232596 564470404 922696301 904801538 374631241 745786692 842858995 349508034 434028826 603802480 967218778 904654122 459656056 336481526 121581132 520542425 935091954 374767102 806359013 464442724 391638117 855322737 366555952 338503897 576274692 603580721 674715482 829341300 177459810 910038250 588844377 189878371 181026659 497261033 314854172 178112665 666709895 245897304 511566867 799896106 786591583 566447431 662638191 898429945 457560291 714470428 219578149 100710593 669105077 341770303 761365347 352388529 217449754 572041650 445133454 155910044 175819219 125128402 762121016 141240325 798400598 366774550 551050334 536023811 736337970 662153021 321854001 337669545 911211272 564769420 565203840 330985909 100862928 217928735 471009429 962067862 960260169 564342277 858394545 696084983 577505024 290620331 230728089 890854776 212170426 871226391 265557530 845414787 710481217 619240759 456174225 141580216 832778278 378213224 189969023 762943827 634720810 649902213 417732164 774008041 527770722 927270969 884803988 541997612 230847794 823818768 956012506 666988164 726163000 179904407 465784981 188958179 330535234 113850864 282406728 284803006 391959335 272691207 517644098 204584756 449279686 752324987 260726669 140368600 645984636 501788899 334143220 466416593 789780593 736485606 304260075 188103281 343239984 675086801 816445793 987202043 737839283 501707438 858736597 904520783 277909462 173618439 995896586 775946259 726060090 351956464 623254846 712246035 821359410 585801251 639607595 127397077 103369955 726260277 645771710 264046250 525921178 279148571 429210644 772597715 909798982 997332924 805436387 742603025 198551307 520792247 334876529 725432325 701294523 607158959 549248191 202656018 710432931 410114207 134727033 448265135 751586243 392189366 401456394 950779394 355574672 270170966 775140846 121765610 274915764 481144322 263070196 408449335 526848537 905832429 790392663 576523108 671035926 100853517 217330705 946253434 190281322 535307180 506840128 332240742 950620512 333117259 312437522 704354618 853948872 711561160 259337581 122082116 610758474 322663158 866474994 975692935 823233718 849641102 501177309 829542401 142589866 564964099 559650349 278028501 433591158 620833635 583807115 814835305 285425137 553313089 923155523 615646759 260837641 104247763 489581118 546001678 762054912 958256105 679904773 404501395 765336664 405177346 194840798 992802988 273314755 653658083 311779313 434972629 201518361 724506748 892004509 242419900 408445253 232035903 791155251 584554401 822386195 322399258 573574908 503083778 624275274 609360073 421355077 431307591 721471282 602283242 339538936 681171544 622371647 465035448 395226782 966952455 601122350 183611209 139110869 257735833 595069502 849216209 711907016 135722736 642364766 447510867 321136499 669604482 922574368 478550239 368992302 627047327 625913920 676617822 289559234 301140343 888343102 509968289 992251554 737468645 331195297 603322957 675174009 622440618 712043989 654679325 409788566 449467172 864014964 437325015 692230098 954831098 724430986 627490166 784217904 127753122 538729226 670198229 424878914 483610140 743598551 829843367 206631485 998170483 340266724 195613584 101215106 434198796 814812533 295241524 964117430 658200121 118971473 441299535 744951503 549682410 233371787 940418058 465525833 760667686 670407692 206113789 685505685 831465517 331247449 154831162 585247305 655875532 145307697 866957837 388000239 913122979 136539698 605312722 839313076 388220091 482569133 820521662 864372017 326370050 194286181 649766574 305810935 846032673 305744634 466476010 709195177 623519980 118880158 352051330 577138274 215616019 572853718 109487889 461692214 538237197 603707990 447240792 534852576 108189885 578550640 349978046 693401294 395728982 395326227 575142808 603995483 979175050 903428407 410573447 630761321 433748041 800272923 659985962 290093891 147310791 658350119 515568196 475497195 327374277 930254040 341534006 735034978 968336265 621431607 319946801 624865498 229148357 922133655 261704531 842036506 301752782 999775905 822759019 137157031 104904394 955036621 717433391 895117648 575751952 430559500 884984332 416930586 817163460 410386434 659900395 532010436 400039795 830952691 461816541 634828706 620833359 496683223 113151639 961935285 583692391 595460848 168126104 381209114 314689846 377910521 478338435 291110333 382393445 954719011 757461191 613487038 107426800 195377634 637318750 660847559 242470923 483613345 206180702 120283580 686418153 445171936 554415072 966576750 212857438 575139534 304889932 449654428 654159504 114146305 743855016 758076714 541992366 664140998 554853038 476821987 338761702 814806342 161454324 610533351 630961943 104318098 105778372 289086772 385682199 728113693 948533177 549128646 648705701 620456833 196174711 196956972 278520450 551698087 139330210 161547357 609655178 546856433 972908661 725344252 820555362 145772250 331987106 677597264 162018775 799239463 177250027 710963699 830233143 425771942 293657589 734638604 895242755 835969312 599171572 771098583 140819349 872305068 654923587 931469517 653044703 199673160 645304217 421674803 329460790 966444203 975562833 728477076 160600380 607261078 716555203 538200091 343506671 717671018 431989503 672540776 581195635 465998949 251581903 787857128 660081688 996159227 781103686 593052222 371066878 104027762 418654695 216644469 568138454 945190595 251042786 468394947 937826794 502127163 913160032 441941536 373304122 699995220 934749720 308699752 103872238 980712568 270862952 210320804 714676519 245184897 327566685 708021002 671308112 609037683 433600484 702015698 266963884 853326836 950742959 315435304 999722661 142165988 887241154 417097791 382377188 688578663 209797851 659125405 447382255 629797687 822577131 188295678 420200792 622060600 534211108 833614239 651448374 506500183 369430405 412116100 773937158 815621874 565189894 107806361 886095399 866940508 922364025 819892871 807797191 544261390 222249538 894913984 238176775 225629763 224658858 726643794 553940774 497336574 501694341 415613553 420290358 357988064 353528348 364557518 780714551 164021932 569034910 224281351 336453186 589045664 132199157 461509279 701144161 788894518 638152539 981450790 149429205 220929289 617811612 429531544 466276359 508866789 999507225 169935962 413945184 598345282 226600067 465102759 111679502 720967391 727429650 918835871 518281143 256667005 664756301 905754806 928286423 122880117 972276010 439643579 403020611 429052257 414170817 321867320 725538765 144575496 399494349 502452426 450578698 485016708 490456722 990437899 765050372 257236056 634329691 547466333 573082936 439381957 180277778 723660049 601627319 763859269 495672989 919894062 869384145 496935806 757720735 310633012 999502236 564628697 757832132 718384566 356020150 169500011 582293861 762421857 166845541 503493030 570117258 258269813 891301598 847365759 248300797 979777476 699851265 466901623 382689982 311909023 494067230 261764708 338670293 750634902 837451406 728648500 588232683 703717071 496381275 449483886 801361811 901859202 735322585 177801888 878364953 359722751 415618602 895772843 376246816 341827367 639991427 228666295 527272242 207147195 762180839 364650528 497187617 151488719 609408547 788823529 759577857 990941968 494699818 547592815 459284937 541663463 728168796 637802234 433906500 151380716 611529818 115870137 218932795 641532805 492518853 552033771 130946154 351275796 634055336 751008691 169778097 369407873 569039001 730977030 753762599 354119985 428774780 807345336 380175650 496097284 756873245 684551972 596332348 186947068 143989214 436759352 799359180 810396884 661169889 794080505 465961222 549176149 329944624 192475737 725905247 870432935 522509817 272693716 995197095 543718445 811045412 967248560 216041658 864654661 481490705 694542247 348939306 305462379 208779589 243571202 400762107 456015093 578398936 261308693 824592295 120336851 474534701 638386402 551171035 461630002 982263001 407877892 585468664 188912960 278593500 652184645 528069688 565791675 386727302 240532971 143618180 291367395 791626575 432737776 542209572 974281659 325675427 304894361 165461201 140485837 715540102 536712932 789320194 457813417 661489307 890920059 897574219 360258195 135495934 825402926 865857046 710425169 656566195 152680264 472288299 359134993 529882304 214948511 992391555 268098297 956309871 325232692 387039433 740834223 940375498 884293263 413037156 954231682 104211331 975080132 757520150 536893519 309599768 125058590 252312429 341893833 875349708 108045454 818214166 481814552 280539638 322717785 125952497 417634285 552481479 762182768 958119309 872964689 876901270 860012828 607128393 336594360 323261484 522657170 773781376 996047556 293987820 590528649 647984065 360742542 422791250 902933978 776890659 998010611 428315943 523623577 398017341 948641192 621693485 336520770 694948304 539409030 411470025 245567470 554138703 854012235 394799403 158582167 613422722 712023660 779453198 585313357 853412045 431509777 176084714 862281763 601733375 740932405 505647544 154636360 175063409 691642730 379454204 534783565 140559655 216122242 585780698 742948705 394705135 133722685 561263388 955012857 936904008 111623005 836006671 360946187 720984752 832662435 663421988 886126356 775905320 584922182 933441359 974335838 543333647 889239862 365196141 247347146 999285048 866548355 495606223 300744078 465815485 893341371 888556651 690149185 603890742 672162592 158721123 118465492 497467455 197257006 345233298 562521603 854248594 675285441 893562296 920194642 956449309 810280587 510412636 371226964 293250468 365321338 990908407 831075108 590323261 953528071 110756658 958080262 861841915 772014039 402962748 720134476 546894371 681167354 882863935 584738779 274374079 624288400 969321165 705233780 558344156 101491095 921149907 346312601 708812259 535979603 665348571 481648354 891748251 923529872 337762493 493615519 869454662 686477193 678747793 191086127 573224138 536271159 407622313 580580587 883532790 581929310 185089724 940502700 297058181 767315845 590603143 952492292 930533916 272643885 761405904 439504115 633049663 898766739 258198669 550550565 142354881 536714597 964476054 973772104 568478795 722858639 710233388 575826579 401699921 494849953 951593966 878951610 617563492 562974328 620354678 954609233 446430201 351606198 842248863 418296217 734695190 873400188 649144502 679745187 398071823 468137157 575575664 202810224 921645400 360465295 900817550 459402176 327915190 760414536 786770552 968683706 306099564 194880535 719129125 340081485 117073813 329101126 247386752 885583989 435089968 916180054 530811041 616847108 209618424 528682390 654624004 229727138 777683759 472770318 644923908 669158476 873080700 279860156 710220109 804487966 192365121 795635112 716371999 901624707 990012997 433207966 141960448 640981983 456797982 528766138 744362445 711766567 414025670 515965205 967802795 714048240 831510002 913497178 549078632 252137331 424026347 544357120 729068194 131291800 468048781 660802134 899959930 880117508 214012367 336439002 228849446 317849730 460270820 525679519 348042462 549969541 521074178 749048722 943651682 394352155 531084658 400639601 845390719 522714329 646758662 580268796 412065076 453033700 611145729 658340636 225010122 951492122 910981185 515338391 562026482 109695696 965947511 569297855 946977870 770530313 887400095 890798906 655234422 220817716 485088790 320460053 278423213 626219697 196949605 399271958 904460375 752214067 996098426 666336389 101151213 398103635 465206121 643080499 280681161 567621864 831068794 340469060 143610836 735793982 284451739 357964210 267354725 687739491 863911179 847666534 737359652 208931494 483886669 280819632 993081134 665847390 875854804 539235394 821092142 107904246 174035013 677533064 621681340 450201689 839184203 914777948 641707356 420959127 207111352 614353724 378984424 380490562 221404765 545637124 463738644 559169031 590443520 856400746 683433697 992850264 889693688 950160024 333267367 234133221 237957653 904991552 303794708 649653937 959280157 128781109 755592719 867838558 291171699 395368639 140323103 840008118 270028183 106472710 518829139 480269635 861266137 977081500 546484715 781288069 476974096 697597365 627863067 435819535 643137558 858157261 321468118 869524758 196075919 667452634 598494182 713449220 407116472 957081834 112535889 661004051 132068903 598454487 296495274 233543498 152017670 510397585 827885263 425203223 276924799 371082081 410474990 488613826 399547439 850469278 635972278 416799632 724891774 106911131 593354777 457292805 925603255 947344405 156776420 763784473 923480189 790193452 543015318 784493122 533503367 437468357 539110941 145759070 868442509 274876630 703564816 576807984 501435400 216314279 984688739 281478826 480064717 233478330 528601992 173671635 727712810 365226884 311048154 223905733 835612879 882726729 204638055 349958874 678265133 587484379 333652123 767017725 403670118 620904060 854073193 559145729 728928910 129270123 800574919 102815150 305031020 721986896 357434403 709916532 680321746 436165476 286079199 746246757 582741666 680388105 811204648 701708351 832185819 353806220 923748193 336426132 639756250 538529543 540027316 741503419 336746008 497047423 961658871 290718724 892895076 527016543 487602172 259971255 342628732 974801612 273044063 142911139 862293283 441845100 528685575 817097503 914339314 301551828 247390877 679971421 126219823 517749637 919333454 109320278 471185188 390114858 463226271 654931106 711231994 331084589 126895742 951356203 388236126 893464535 109700165 441351612 618705728 863562860 466085601 538080152 797073021 697823292 687786461 803497025 113960590 387275552 432188332 339859505 166468185 151286898 938331422 113227994 540114912 149045686 393455808 636258013 924165248 574272135 532552581 799705601 529010122 308449154 969107219 312615850 575210436 930680480 570494129 950898224 206763718 458509444 177668289 158392544 281333683 931148798 472831540 957242153 689052297 868527703 551191958 856488540 125011052 273368872 286627991 397044365 191125820 859026857 454304738 445205323 393836211 556022071 726490028 379734744 982002910 145362527 121097563 839592943 242458551 114450157 701561634 474230644 183565397 455128520 258089688 312495778 202817693 687365791 174673170 110979824 587062736 291909441 980119683 955839083 211477300 459547746 517603087 774496119 917491843 131103646 840311527 596388622 797867155 808697809 155587755 137980260 350138650 199467341 718437814 471445018 239698950 153886672 567192547 222314002 460988986 750835763 589070145 510465089 496835448 329459318 942518515 663062708 404414143 474933776 230008569 123343832 576375374 909590903 598154376 961217304 233909818 693562611 496011341 685208493 648774605 451808805 848394851 686616923 662048269 303261649 927101323 696703479 754990713 844183766 502319213 490224163 406444364 645796885 327916143 608469877 628356427 602374076 953821276 901481702 656954481 106285521 373582374 850482660 116436043 375058649 726729662 458459652 806701940 284630476 764907719 646319181 482855330 606076996 356526097 360794998 401652028 197811745 153447302 544580653 231342781 375901360 893264465 464460749 681300132 506103116 871403829 871501189 374889482 154036913 801285064 945773823 805684123 612120788 332938278 280880075 961065584 921307276 628836363 622811682 689378033 899039705 594178872 664517183 275752779 456635057 415788292 202025083 311966242 906951098 376111613 476922767 198923138 968087143 332652757 815187488 378836302 995799756 244673685 536279015 547166773 996765949 167620666 104053678 359849076 189667570 880805266 449997864 848858481 638313821 100896376 804394036 159021592 912758878 523235706 710596379 654667732 390686253 370273760 220803406 580832908 808500314 668333917 809785321 194799418 327162963 209497365 534567208 963497076 985006642 814338084 233646041 110805823 418577051 576494731 605959001 197285559 882864424 130885885 280079748 136182294 813947105 941433403 509644516 645239966 620318566 595838514 222766610 637231550 129680718 602841533 442390025 288441418 125941890 257389686 352259827 958716563 183976058 444330081 693046994 977821563 305907683 993299811 205354843 833359561 345418690 436641888 156650261 304643546 381458321 212848015 896581829 438012520 545518730 766211468 932103028 133654486 136656364 294398258 192907951 599525509 441362872 483648171 284182847 692708786 997361986 986075967 986961792 333809666 678575225 609135259 888484835 846018703 331500800 952657057 754379695 194710399 241964101 118425868 267755351 293524357 251653724 280042950 646756269 584566333 428601134 502990723 460563052 426194596 290628285 579911847 571251474 269964453 761156045 602530296 274752897 915959958 689534187 926400115 779010601 468616898 323251316 394676623 491543634 931673970 717592402 454440004 439993539 735322836 297906613 719285021 538910427 178310847 510396300 996141963 374617511 298990436 536381488 697803106 529261194 447342502 696208642 481794754 394519208 932617145 642892175 927251441 456032481 305870735 790921774 621660958 477850898 386770373 864527556 859425006 963895373 467313556 447044592 677510881 559855444 339096303 291145173 653812166 920901696 893408066 948334258 924624922 106952021 931486290 347638343 295713084 395383509 532722191 334456131 412203858 619975434 403237267 261644994 283179803 784874642 671372104 959887374 119542132 973904529 544440925 718936140 453170158 588444934 400843101 856698959 672709568 797415504 970349793 938401819 128539296 979730444 168418419 809062715 532892666 243033232 463364051 566806105 131169465 609834774 868239983 934707075 568213679 926124903 352365223 208274196 582065078 598809803 499401843 568848033 320051680 562408442 354285705 990539910 154680526 980922166 324762481 835027352 888027422 669122740 636194474 182467676 590131742 295809515 212431563 925326426 394952383 605751725 499703585 726339236 112695779 427219265 773668280 295323267 107080100 790955443 943752487 683296278 131563066 979299781 188907498 448178407 282526626 472902242 847953104 189609970 769702621 782598559 719850014 101859932 576457660 388507518 316107923 183530999 266845268 178804319 870548627 953274545 980681772 205717738 326490005 643629710 137302566 657681750 846092590 673470740 434044713 716597170 896245166 455374018 932613691 552695957 480739892 333918631 216311413 143957229 309691493 322606134 474479221 683424615 711918479 992040892 701387738 508706139 263465345 899012776 226059428 209091820 320615204 487329963 986155136 620309415 153673826 978381610 901821207 585850609 173664092 731335925 191870940 683604104 371809218 240914917 751358967 999236562 533120324 348485869 740090429 694926473 580318381 407822688 286207527 360112970 134903925 637057858 859198467 982713106 690545657 602812822 512181851 620404454 287106233 830121925 775612317 288043614 391711111 430239143 729005640 498518871 428647522 379130141 581698644 753104858 318009405 957455912 518100407 255584233 172490639 260725793 208521627 916498215 604824214 168400687 565469963 638434367 216238553 395294047 545497784 408183908 244450276 107031079 725936442 383551632 687083003 427136794 234193818 970525186 611999942 336118140 609888171 157943549 271934039 753780204 350624020 573412200 490160407 744770663 769370135 417211204 109314160 754701975 222444526 621965704 687117508 148799452 122747014 173563291 127972740 560722571 456386483 326845895 875109720 340503147 803355069 308468258 906471384 810284573 300670045 595664971 719213582 858073420 817438091 493471988 731717218 798364429 239197651 356561300 618243085 254685796 851095282 643691380 481892198 475330857 874442113 526512625 948797135 305054347 568896932 968936307 926027823 809082438 452790621 865470900 399557578 998439640 294616873 935247139 397171653 322035360 225935369 555683761 141206963 512450561 858256668 845748020 344437438 332738672 386579709 383816227 293000904 653160420 210369441 883871382 227596832 944089536 883486141 937641536 752598137 253822209 766281338 318614209 872224938 584064341 350082438 353837565 452838145 209693742 836527346 340493969 880501117 519549923 178672464 286384986 628414755 169021245 276896578 477742906 286960941 350725490 916720274 644978390 410347690 936889924 145435969 875026850 621305318 325230455 574624937 667786899 360715122 783595690 454386156 354856713 326242574 390781892 729286538 400206694 164723487 137176547 209225948 505474395 423347380 936323308 495682315 835311818 939927701 265763132 209934589 137512943 703529155 521385323 697771273 444619257 373387894 280330474 308727419 508744048 426851432 632526846 100808766 222787296 940395429 106026872 458307870 547423796 774678973 269990630 760449869 729065006 358293137 233157837 546271838 262381267 673009770 384414051 170449577 812303508 490185909 488590601 511524888 327444208 630626853 105987087 302753859 720531738 304250412 317800090 757674559 836211947 786989523 229613311 217195524 104083639 870034083 783065468 289659801 439505575 234178160 536826204 675487593 617863346 167361727 955128945 165362222 487717308 177167091 284312154 804675144 873576345 914475475 474167853 184309063 982457688 197942211 142601842 692931329 942552506 383715502 317667532 671641382 234929548 438791172 551479988 515319714 290157825 470656736 816265912 671636391 921133876 513066290 447712478 333770959 719590258 310621371 451748674 797445849 455873263 871046988 118697934 253448481 118023258 136201488 883404385 794831973 558281790 722589821 209193486 902536982 478308611 523889995 675998689 953886936 789560659 123812135 234605123 928043281 670551220 549244434 757248037 520138042 968143963 295172563 683667858 753508946 610778165 903587696 396558817 583692297 727505293 586879387 387922432 824829095 840272801 706395390 110126520 551746945 857706378 520585054 641163195 178332554 329646449 350096731 547828779 677216677 971461150 875149489 826482461 301331236 588521542 902675331 631506902 746803213 574498716 357174763 204016635 121150614 652481881 263486857 111437220 380168160 273266275 536858875 855979042 217608475 792862858 714004167 345610538 733297913 420756634 980487351 679691386 789571691 344498472 754522006 943086927 715791164 624915840 568319126 940191122 125191760 210739197 167284717 516676362 492461194 805245425 553245908 329345906 792498440 644420571 938954731 827577184 228539729 431538050 996608877 445896188 736438575 145534894 939392764 759712977 683654607 620401436 442300651 383523221 140770809 626946062 470794106 254315552 382613347 888129986 765296725 284403229 702697312 122648935 951899928 281885914 230513596 979992772 858765884 414145196 604488344 998399356 341611991 239863017 697458033 248086574 957122053 779196348 165648447 424522318 590146234 132552480 550908994 355382258 865357737 470277010 543689095 377004296 400089524 789547421 684222611 463264964 196794051 162145105 815427454 267144208 337700021 503630909 927130075 208014982 728601989 322452478 663483099 428505965 355759390 625586922 360295078 907804895 209803866 897178501 843285326 414107239 753845903 551841299 907470947 373085933 381231396 282109605 642542470 646428095 679476231 729395558 797340674 451325339 476829904 103182573 718102399 760508552 760951033 445740473 695028954 924433585 526448687 556302486 924855252 210160448 248896789 190759976 772206747 708494200 580183512 218229795 997701450 272225193 568374254 374037152 490719708 156515120 757312288 434058367 764228731 972261722 290643571 909154322 133980440 985341561 637334364 224000387 212888701 117471716 613591887 538117398 192454723 601360573 369589409 813520085 885587004 487787634 712063581 101926291 329218102 570475111 278831582 583168481 205671292 352978465 453734534 366664336 250940792 736746254 826135956 778082545 399771671 932672360 152960188 215047920 194507757 852159756 565981914 222580887 435546768 779594152 171712922 608657161 218422892 539412525 633798995 647567401 237487037 809806366 394795031 134851683 593756638 604232951 949819722 236139722 893023198 350957157 137787488 857399319 207901293 165528112 931108052 859990757 366567856 125489216 866052473 191943920 396695575 113558163 332254806 198847994 586720367 890722285 517098366 785150519 228696971 363406247 657018102 957534295 814423956 687077941 579211760 361769684 998305729 320755275 883654818 432029917 490378919 426030708 932639117 555911607 722747778 248319497 654628787 194274016 695212857 428620919 491495016 403923908 752746684 888501487 331888278 699046723 983958246 228028027 264502291 196280035 897383756 842966073 997337254 915411546 374636292 456988534 414527194 481042445 382205854 572012746 454847514 921990957 411276737 975963858 489470591 399817996 253478524 394756119 423583923 693968322 982131496 586005012 673733703 109799897 446119440 187077262 275327268 658318854 557702617 768601195 474705078 141747030 799959535 209076574 375076183 926988153 421976684 681433070 823710985 645870972 291799872 935030045 987650663 606974648 513769435 598437974 840800117 842774378 963272934 530731713 434714705 239252407 456578022 625385997 635394393 147368638 110828688 585339815 922455628 322950766 431650300 887538245 593756141 402086347 687585826 895269592 370303315 358398278 120795820 394596963 343478059 109126220 383862011 243781240 949337030 734901782 569208233 820650830 812673498 717905795 561591877 114461686 620950246 158463143 103042677 603931100 129128492 306550334 774145592 397651575 757534093 715457630 873374765 200851053 263375361 582149850 747349716 880166214 341231472 597744780 384612677 663333345 156841814 326070056 619607364 123659842 624900102 465409663 894847069 924108124 796019185 764680020 363283088 471350101 404318690 623857689 941448630 769445963 424058780 389681971 623931782 451554458 809557604 243634466 800676542 375621922 328375553 600341469 759480621 783297368 645044160 322356724 338670525 128387569 125792269 165814124 252197033 275702104 926632480 265496654 457029761 915687482 941739864 673686676 648709279 636042587 124672952 435283913 323569275 170689387 844805051 670284141 169513794 190656835 696171306 985798613 420937297 937234498 435795913 216176848 190164566 389416320 442673051 855030801 612913643 246168134 794756075 539276414 267244564 750969351 285826164 443247731 563882034 597419577 354199185 672423423 606929672 429179004 230208528 270298766 237285651 602764661 488575073 450976680 733831369 945297931 526651542 846759174 710305842 747331677 912953961 603694028 428979511 183477879 516969247 848288325 523094770 196222119 672121851 574585440 680081730 998339761 541870715 793878170 305029681 878639538 818887293 465868088 712505647 635877889 391817337 523171068 103729963 162701258 410687178 702940395 148814608 396276190 173640427 835272264 712064304 442866800 581228225 681668119 816212351 391628407 688272411 588288716 790117920 239306797 977891508 289981783 527695116 981153212 334679772 701261998 606584458 725188333 411731914 931504552 134977830 293280759 381638758 441481144 364166690 808042928 788956448 494739507 217308589 409458991 286264319 118485935 528534584 737323739 372891954 915738335 993114182 497955544 820238417 178360265 327004263 408187553 989904565 592905919 525380839 354849917 736051736 198347576 988338053 905313240 412868314 865753308 387332221 362523950 777697454 119003509 766621796 139593785 387507069 584488148 826680008 427429070 409917284 176133230 474876381 383352238 856163774 490463730 151249497 744767665 626069302 511891634 576786393 788594844 539959827 271828035 992430194 262658715 876599015 417533240 846289207 481885423 389584292 668106206 854505054 166260613 813361222 821038528 818261105 715815092 424666715 402552707 818429516 896307008 542018923 417370467 603567580 448475063 564008179 494395885 190538671 676884828 951832400 351932980 316151717 359622973 551176845 676784416 359837689 760154094 109682638 465355279 998569716 605218791 964723694 208513574 287215357 261358779 986285297 778874487 397631956 401445454 252603250 904559720 602247259 626852006 335120318 539653601 711283887 373416868 823492663 108435321 905836976 284557582 930461842 208017102 832118497 753353662 593307534 476704528 560031502 362474128 255340995 933804465 344764220 898254022 655440094 160366150 508714967 658293375 960574966 998818578 533407677 942738997 315602592 180087481 879505116 663447401 212704965 834685368 400232194 580385277 144254480 145537752 614331912 918664734 928923512 946782541 701241931 534036590 886071233 118990852 207040285 980943778 942192251 288909601 360207079 431624265 842049204 945750517 442370145 778674103 869494611 574134772 206913217 433938203 682033354 869619253 337109332 146027162 426274110 994210041 555937023 375591062 102912806 704190941 599859711 582102507 384840236 392755707 179110125 289488604 524996307 926004568 155578479 869467094 436991190 118108741 666193300 899876814 434601124 680874130 372291491 671882941 740138840 498658626 888983939 355703742 999071889 727868439 296605205 818596845 724928080 545807423 163207462 444709293 476480466 944552466 583740310 499992707 826115504 203395623 275620540 654088752 172312105 675978775 208754347 200685955 147373034 839789295 908827881 343834043 857656602 103468117 130581828 513412071 527540337 162533961 259590228 515176575 538662004 264415430 877007738 166722778 951987060 254381133 297541831 936848074 496929246 514008517 900869498 321586188 963367346 975634996 677848177 283876795 937146781 159968749 731035179 222886584 537514715 332806597 371399774 987656475 912275460 872845871 468857263 364041247 711046104 258417274 890062720 674791257 907671856 588005023 766791665 783413666 685201898 828205239 612001430 882041882 798973522 845820188 942258997 183060624 124300787 381389513 461753557 124116390 228713111 361562604 416796725 845397974 479249554 695248045 680772459 188744939 203709560 889618104 742363718 584099573 686539619 241159734 241715723 317850992 139973761 496407276 223575101 144593247 380947451 425373184 521581650 577597989 939334542 434283119 982281418 348205751 749218204 155547484 459619049 215415584 336156926 195280099 636239174 321110842 341417302 313487100 141091292 304273667 310801622 101510388 117929508 523288007 298494940 623596773 682242970 378920325 887573335 736261944 687474298 492080881 190472405 945472538 357234441 673769533 627846540 218625060 762297744 917341238 833555835 948478618 751598578 738404639 506601692 468807489 872537772 740040115 214235881 559729194 890196395 858091930 747427241 592056240 693759733 960830931 899248085 947021737 140903392 347805129 510034265 974665244 540176214 304757726 581207266 696221142 645932949 215156959 244819664 252783417 553203298 540837532 397781702 250078339 277722097 205960957 319892167 483412865 223944317 731947286 174590947 525387876 417782985 499946232 680319440 349661159 759716787 633004781 682630527 677424364 181102392 322731160 354716316 312140510 655146261 417978845 547532582 683517840 734048839 455851113 737643359 513263790 406858127 404871042 553238941 561681185 545745988 521782480 791076308 613656806 635178845 369242081 688375441 171335494 759797746 346769521 698619884 599633882 698086984 505387229 942038024 777067508 872299763 460543643 193872166 168596855 704273438 540105827 894202948 648608610 489925450 378702988 129186938 658125869 291468577 487861680 255698402 978640882 934993469 343519427 993619268 581020159 821563313 612621002 207876759 909749695 553452135 685717849 908119274 460906800 643134831 715134546 656392044 518201419 459038146 156950724 223913171 197779727 674428511 542825701 158283713 278717014 458277099 147319808 895474698 468967873 743089735 247053759 487924125 763723641 511992216 607698117 552922957 388669713 521746677 618974274 295072866 410926455 664569517 249962318 189917418 141214238 957432350 338547464 972645910 203864491 835228646 340537540 299751692 684919002 838054462 175028533 146831715 688401649 661559672 953252831 963993637 530769509 390492689 925729527 185684719 731689095 820319721 981207908 748682977 223004043 954035683 245238188 643079942 304154357 834811253 615490475 667122407 892233488 675866327 925660815 755691537 227340817 917009427 268135224 147263623 214261144 172002851 949573534 362384792 299918283 476878449 645484909 768061756 106450347 934585041 815352746 304771813 547120897 560186222 369126035 894789948 159325995 640026752 586847703 483901477 353505641 559799812 981581559 241101649 670736670 270799150 516235117 782133550 783621748 224818558 970786084 159647245 742279993 699130587 122287092 312303001 469943741 278446091 138082859 826207508 310577008 923677307 660504035 392854200 423280056 479105786 405363158 240107051 785520213 502024173 912233934 623494144 136201955 534443498 529624423 172076615 109932972 478977088 504515035 213780177 728514045 810509344 341325379 978863773 949384563 402829802 469866027 317957444 203687108 575331864 559466461 899614573 467199391 110394904 935673688 182386065 628897895 493741759 636527211 491110207 288697860 758753927 214096681 945964088 924263849 436064842 983013055 544843897 212817613 710505600 899134935 502685345 162183383 709953140 193543272 580029431 675800520 232946770 553328599 741170467 165268301 901214850 422077343 409861624 566880345 237835712 960334488 834543072 961040109 918838672 361316643 373784353 933130874 923607597 134562747 977725980 448881461 659310508 560205555 793184428 239437923 138527803 416072746 180186582 172338656 394592000 319919751 968303531 133842048 234683684 150972782 115114707 318239996 343170819 417391256 332044956 420324912 164284941 426510508 433333141 971304327 442670239 736892796 729997010 654683911 896803390 465682478 805317534 796059075 245300296 540001768 635316228 929236009 615610180 785473918 671186815 660891146 423215769 673671925 815985316 591465383 104916706 873356931 879616151 163884268 491989506 253766687 184600191 715337941 626487345 178548900 585341231 311519784 148184044 704754401 940612794 513934461 814029195 202129304 455759755 230275240 583685774 244449107 616954566 547703764 478868570 110955699 412662288 959121285 165696157 497395772 358298973 905397738 713687366 108701142 857419625 882837583 101883956 379796652 462337175 369350265 271772484 176366557 158031429 131649979 666694688 333863447 337314499 558407691 328987075 394024228 428743350 290853563 666236590 629355797 829288891 997834392 883031390 916665347 490076038 264852133 160899609 774091451 303326083 473768365 674892493 151763495 179077029 280420989 355179699 575238917 359633909 976660296 169375835 865882712 778289172 496875490 182827274 165924279 865352554 100133861 698745187 262405548 996016742 499798473 760881551 148545757 183441801 464399728 310670400 144567874 636858059 666157032 904366695 253150024 785151277 583509880 896868805 336897804 353354399 320854729 466215410 661547854 165066516 300495637 942913454 924889279 370373933 621451823 973838670 661263981 134048369 138347740 661698455 497796620 555604671 219007403 321956781 484705573 566850919 885965821 641219117 407362693 816562037 766888270 184192777 602481840 426122626 258782331 177043832 751006005 151409575 678823689 739796812 968843676 164821732 646620785 470911425 819111568 205237426 100962419 677331177 676209088 814046526 972723874 965183015 644276768 432775607 755728877 116197905 256278738 602180840 904929199 267438843 471022644 866536828 759608760 393843522 562044480 722948069 428854768 913838216 907306473 514429073 519058449 862753731 652203235 843185307 542201972 518831648 315881520 145410364 577575313 674765108 505135815 271993763 204321143 723233993 101557229 179626787 713638911 322097067 926180933 149825110 877515925 388120725 952655606 742853386 985623436 874270833 320031615 889174366 829710404 313283413 409439217 766898947 578823225 850327726 512509159 349101518 533475339 974902297 452641519 162599876 174951156 673167517 911726673 438221658 179086349 994222260 787718673 853543106 859517335 470267003 438962581 864163148 994347847 612108687 534863802 886107924 879992858 699563956 178744568 152551496 398993082 850148021 201173725 913727342 495268461 686199502 514320033 573399389 940928146 499996247 331213027 282925673 741889152 291299794 450440962 491125959 624476622 770011022 301751705 261350297 768465760 520289537 532655481 478209583 291267374 820733173 531408309 220605567 762963434 860574283 740120353 564937685 236901883 177686824 110832214 882608547 891748934 606860020 616757526 609970092 669410037 656051153 733972462 553741481 593747680 153809504 286979740 970215697 380896736 694679972 731239373 756424764 599169412 853784437 604552221 276072370 242362507 256808008 575955925 727851254 626866705 487374802 305729128 773674529 950084271 177122313 210237166 940173321 641231025 609063968 409229214 723653978 222226854 391248888 130939764 896658435 695248836 342895253 965023264 215026594 873999378 655206406 543237181 160715074 158896538 838160625 852145995 610275553 280031302 971893970 771542480 622947528 305417878 290245541 659924554 921077199 386818762 608481131 220352807 251729252 415004179 251676683 681474309 882324801 922420399 904867139 689342174 724666165 530615413 554053587 883357799 112395565 770182930 383566717 565168040 437414479 522852063 657569020 768756870 582703405 937330410 599371786 168805403 789303663 184675596 853838139 672218934 332809061 153843183 993026352 681123792 118744486 400344913 670438528 725160587 927154426 483945537 597956124 830303652 221621787 249145625 856329376 952897050 143860148 919798561 338078333 607899387 605671507 369806463 704194982 628286082 868435805 271869694 987056473 995665599 248798197 553312699 209936920 372646338 251497771 815105817 667547253 692417695 825867643 951605948 963987448 956258058 467467246 618954906 919162419 548124674 364753097 207808861 843756239 739683067 679429938 170385483 757452316 512135396 299267421 257258111 901900248 241306870 200721505 572482922 863236781 908871932 402346488 227571049 170405241 260749850 923208528 594598587 759857522 181486015 840328567 738802711 278355033 152690578 701404036 693429007 767833096 353398055 588223705 609509511 123901823 329694911 464144626 151763732 567326272 626504509 310043173 464749888 707930193 216135122 288478754 190909602 913480839 767398106 187996972 963925654 685574676 867747928 843026954 952699197 590380257 698540234 442335600 861195315 186376987 467370336 487092719 853111837 178898672 422135589 493669456 764610995 315849792 388849042 260692623 142351034 610677935 360608363 827549087 229972413 762168206 340532647 916017291 822099572 660670660 463130076 525428373 950290428 870257287 221330325 165969657 712965290 354957079 386213662 453192686 396601285 271839781 671707897 685443915 220605215 998812853 314823398 305976344 135058017 610028745 492606450 388673868 588381467 776068303 990927891 323559204 445861063 443853346 886969135 516447141 208730444 765768772 338831065 956193313 253983334 674101591 789273021 398310380 771427355 829187645 227842275 574936329 977747739 581349888 783018583 685578430 791457566 604284023 639166804 409429364 830026504 984046856 873153117 537748427 147336986 905169870 484878557 392546700 156088127 387883948 725347403 644935024 425818673 804022576 742036306 344401037 264084961 320047932 784468372 467403168 512214409 293878111 612996912 942513179 568748499 345710263 269949551 197223659 283963009 209137485 247013983 494528071 587929831 546220104 752837296 324751949 425018726 969856951 497377270 863263127 947853355 128814834 263843721 854867663 552286225 975070153 725220271 242950305 887075722 216148677 409742602 777707494 757457970 534697346 609447761 399471673 179062917 287975092 551646141 137780771 841862248 632270975 259494202 765141746 597403857 866953933 654596484 959549040 998021968 181690134 544121646 741968351 310146299 558148825 814060485 299026253 331511171 252679037 856298400 161261339 249658998 790892233 193531102 786093035 970950961 192062698 491089911 705948314 774475724 705290833 951649308 661152625 796906725 258773619 351597859 305805183 826885731 712134009 838848021 878886527 498102665 786804389 328802059 468577934 104127837 567607719 313215602 182864419 751058419 236038907 709455147 446257438 918835649 922875887 947039522 438837025 990199041 187162311 228514145 896506668 524705408 816486405 976105412 200619638 585133110 324980431 881521700 434993964 268484264 486950970 938353373 145197602 844368433 221890451 208970511 949800227 551561333 929309154 667961782 909873999 883072031 865751294 612077225 763615666 403524597 813736473 999569675 619010967 661101492 874917377 374714598 495910861 702040470 889657497 809127881 155028361 845105317 505957376 933784635 291448013 768007639 234411634 256326956 818438571 339611847 473504571 996187789 935442015 549762299 162244903 989019015 363956180 590372061 886712215 416276540 998153069 275839895 886047566 711112482 791642052 697166937 371583838 947074035 836254025 253385107 451773281 721652140 464241277 659325091 954336263 666802433 251392183 616406349 842310764 763316952 934734721 208359870 961114801 668711229 401944759 548062790 991977506 327960302 232655604 646267151 945550446 913150015 551378041 140137376 408533458 777028736 415045179 953630173 467004089 936333690 940157853 686075526 144555616 517196421 651134054 989381876 450292660 613364184 843154705 344222545 775868172 230991975 114648592 169523506 162284844 547680892 362439303 864285588 698844459 204156410 656580733 685640966 534482383 284997409 940297159 820165824 932371291 182904562 526318105 932887490 535907985 704547023 781715524 925930580 721265826 565054515 254406007 633986054 888429687 170469508 859327630 378530249 333547673 465453410 757749700 296578906 673311327 769473604 956794721 592607401 648983121 546943702 356944425 539890348 440701412 434329865 519780685 938627933 295071637 460384998 935951324 238455227 677705771 484288917 802642028 382211004 509617455 607374300 538380242 252052544 532761200 962575213 297374553 353209057 115748875 408071313 262849578 752610388 642095372 960309732 369083418 492491827 150322130 524148283 836137120 971711072 944866346 172841225 318222376 310467257 461840780 567641885 148624227 995431168 152226406 140554748 540643156 873096121 894944832 437716928 336328420 268128760 806726933 211651061 313255283 510551994 596450490 234670849 335768268 504748262 567561639 791607742 662996416 915580322 331655201 261368482 992447474 830615724 757770341 450067169 686171611 110085560 898439311 237797057 175290806 665017146 190417304 699062769 900997681 193298100 833891800 323959717 307942973 436089282 540388465 972186413 623673247 545188784 659427681 467636177 449903095 632047463 245349839 373519254 665559394 825647135 312151283 862711774 544696024 907401402 491188619 901645970 184797448 361498412 686178309 676866049 633772911 660673964 420366641 934142443 117877107 739987553 311690494 722910025 486868847 770929917 449652701 329862839 204645145 639819601 665588900 465380862 641552053 740374267 962927299 914590078 351395157 274614809 381630907 678225645 822895349 356816313 830701566 918311364 606225865 645464806 819592087 383088091 525966388 320381488 255970897 342403268 276703846 706773899 216591994 588935736 250618817 612911254 486122870 543971163 727497420 911892853 711701750 455408325 776717850 747776402 885991033 747869194 176040535 569527006 299169538 836601291 704151710 114797665 482481969 168540867 961554926 228424529 566800797 263897586 454358199 121690487 920579488 277020563 639416271 628559234 601074732 210988163 990613756 881761766 860136488 184067556 756233341 337272666 588767476 888104400 134786480 960587996 798148454 984334530 790853993 125257192 247384649 497057467 471926392 840066540 581319648 788505209 119044659 926988430 631505336 339330260 772068160 163599264 787613409 563766295 101329614 794546463 862887243 473937308 694441552 926925787 910397780 297526680 515305130 176758403 981457385 592306300 297041500 160800536 209451133 788602797 571649222 400082656 405426637 962739076 202713333 303924051 366978202 347355998 445635294 266345800 474568175 428726322 536972705 230075844 598827754 699240176 206685020 705913108 926359985 559639566 730269271 597590972 398720758 287761512 862266391 694370039 902149518 934854125 109009206 328188436 995249786 251383029 148728311 394136462 343976459 201955871 995032154 207785736 693322710 859207354 381568651 335415461 782664988 105810373 815249690 743317744 733924059 694342238 871860859 308922840 129306515 242299390 384910768 799969844 944360623 308841384 807772675 643533945 346451104 187050959 384896761 452216790 242334672 639197157 560750939 533030363 200614235 155345778 478237463 125305656 865141035 317877915 632305530 471242416 486312678 243409401 185103009 273294774 928086584 938854351 918298103 932872717 362449627 929072433 787397448 502206802 536232648 485974329 121184684 878756168 736574417 812930741 927674851 699433884 292097060 296303557 480461066 696575070 192570034 441666076 875637794 800883019 713145636 587915916 629152037 866476873 563023732 959669821 303077586 904250203 393922594 722027447 569722375 423554116 619891006 167493474 499373809 288905158 431188898 426802637 831263732 326360691 386996696 234094338 230384460 954848975 699013238 563395655 436359031 680271475 879748864 169163696 219440679 682546581 129691805 185461298 442133536 581312121 586777681 147649907 438052303 570986492 721522837 861108357 144458246 331222288 279624758 465499844 918088490 774619666 334040008 405453686 647599297 195336982 944283202 659863104 669531467 790150525 386249074 120236038 436150049 275982025 667765442 161569297 717424394 699881552 498789872 718117966 466233411 360203253 809420603 648279779 390259763 610994567 303156332 258358550 970027613 849494262 391236885 339946741 885817574 551726824 412930881 849398186 492326463 393821528 920173202 466110015 218360187 227493008 476602808 663644490 430301990 948547507 241876000 416341342 536062764 852345849 763544220 353372810 948539415 936117305 152775941 208670180 996186033 916286575 612374293 786564784 832824632 887017710 637767870 483549047 248664320 492748927 453750028 864965233 471952628 762453901 125267246 415275750 854619862 908540867 662481497 989667546 440077698 591644275 134811534 802365272 519524847 736421016 402008250 656189764 781892826 998404784 920312313 154246738 655377628 278114754 194202192 973975904 975337782 751735300 935478423 266101422 408621833 898950599 208079203 511480115 466812411 966797817 258298678 952298808 952881645 639227552 229433415 411523419 948633999 659832894 194359163 647290768 303444886 980048588 482933975 611308722 371570234 507841466 541959101 771496056 153892705 731493300 362096319 680097478 156993288 464017781 276684298 274255725 373033597 358471530 516957603 463909691 325402886 171407759 147131806 790128846 714813608 279379208 166458235 128530162 364731868 259671758 786873242 413476081 401348050 695393445 633086075 343363791 307599307 944817985 581844622 545597243 577212477 809156925 835807912 506994701 709912949 616491027 262095980 523255417 805929918 199229494 390651767 406781620 916608680 371408649 238859144 193590547 709169793 932041854 389190022 342947533 789398131 443405422 557922653 913664805 661059744 617487160 559341928 190335018 265566465 212315353 583937437 655987941 584845213 833001114 817006321 797595541 679277326 116262309 604118060 164139041 434849106 121440641 813768841 327474893 924386602 542501986 701640980 227766631 692726027 740415973 589266524 128877716 984318937 349302245 359386067 411744352 728999666 954713159 556993575 910946199 947112382 723629987 915085547 882973878 726690974 154521959 373263245 563616297 398388683 464151941 410718562 336562027 288555690 495888953 530884916 793838377 969445089 614808032 362474672 471653702 544510035 460982500 128141642 378155750 937675736 323637612 319815258 347285590 815176630 717734050 322231215 187110300 504423298 538721465 952022437 977305625 124257714 738469186 452834500 584269017 751165864 809263161 898865809 465109028 828720368 464249438 200505474 732033814 262841442 734139943 646264036 489807452 497528910 759988520 570907707 902245648 367839775 819190517 431994922 546815618 811739358 974660099 920111450 662349249 526469798 553040612 966768280 307875546 645938624 269160088 772950724 581105448 309977414 258858916 211249013 621078073 829102446 791237481 605408383 843590316 472129928 828058718 621276374 956889651 983890365 690879725 147157173 759103052 730295466 813297140 270601221 586717722 424222238 885735496 169122713 533447701 656087733 540112526 306225596 645666446 738627369 278323872 188379553 492287140 814060312 940718979 990656041 366464966 663415318 972719259 684993608 883696257 329315232 634573393 623939458 447864788 897175343 972933478 592968955 768268123 672487693 487795992 521225833 214542134 350560680 350819094 113459992 308177936 903758215 790763810 964760516 896699797 270798337 363858692 457307308 291997546 586019697 904054376 603628066 590135005 262798675 545598576 982057719 297281531 748574829 762437056 663587997 898978587 725493007 436494163 188884771 224531427 787663581 248982850 865083727 209627793 656528187 938212249 403660616 438839322 102672027 908410369 938285498 232104483 981974524 990134766 957950054 898838022 774946585 338848314 243132221 775491025 403334584 887763223 101033386 240226143 634517219 297338513 342954149 777097578 575869874 778820387 255775378 357218141 939451492 928512457 339059187 333883127 170675557 279811614 130895498 893179970 864018472 407197244 714216910 857119723 991305037 604373726 846271230 370802611 375295274 997727178 607648123 544332849 157661260 574091903 836633902 870973812 736757269 124968497 147089624 965823718 594961190 446827488 817631058 871771993 141315222 440960101 194424322 312888042 448876826 187593375 300670856 740264140 725016214 875089312 759683643 405109125 995880185 597892627 353664440 326493981 762213837 688137054 464305072 199012388 496861043 362505038 518474448 467810914 277202219 769408439 268440014 684811659 509641257 670902537 471061743 567952073 763280364 590482267 612693776 992533148 203771180 209131115 137272605 453491509 620502818 199552342 337473957 347274165 854073375 332898110 997276358 930759026 273191717 117898375 236132640 746511658 720740774 470451925 285459888 161190663 179391428 966972649 125658379 763162920 781087039 146067459 904273034 538777429 412967889 625723185 538830292 864313053 734429346 596884308 848882559 536099500 871299323 470977428 429921951 845957690 499403213 336681180 628188151 943446026 531046610 265250764 774060737 206848816 927522671 478814178 142849137 708372686 269416267 262334570 408837836 579223390 740363213 207258264 172047921 233292015 620610286 194524371 355912541 304866609 967063482 846240381 492963707 404777952 551493300 566476354 285776896 188794694 256449347 983843231 333152871 359296984 699205955 562014312 358165245 576691619 400032884 460344000 539297980 773419266 986331594 229664193 830422763 840212769 879636095 944614062 120858579 719454603 509947667 612349921 199412405 703271071 977660000 732229268 111430078 351126641 878005988 713770589 519751883 437332528 573642836 351709041 173060864 198967303 499212219 409000865 730886325 576168391 731101566 534720430 367361082 419310736 692315337 929595703 831005438 879382716 371557495 624122723 579771938 685685498 435671332 604652436 984190744 994723894 867613654 478210616 577480572 837812545 463503457 225762640 700480554 389099727 535351847 198345828 840585338 906655605 183857034 316912788 613821067 474874837 243877325 845036512 137458327 405694868 813725120 335048197 706553606 294935730 142204544 160647383 335960620 616953220 587969453 914833754 119500913 440541665 417382333 258839278 325009881 598709642 638537679 120610559 377507481 333636608 358617339 241560391 131499045 815134131 277993282 882595640 665279613 189039538 696370223 387664567 588791649 986107036 407066529 204815995 597906430 597582446 722283821 526129003 210061503 431899586 974538773 950441025 495750293 558011762 455464424 777714873 854255432 690066573 933927712 453644277 963109128 740077055 741293440 647011010 214762959 537619627 436499058 149341538 479324656 762208948 919519382 994978630 706749009 435566453 746169839 729170784 152881615 209126782 482464528 597099921 518966209 519490436 804650062 530286045 441290005 402292629 223743039 769144712 458553285 194199248 897840629 944751007 990683037 219414369 344411245 150642240 462378728 935458771 354067772 445158365 924299798 686850195 330698332 746568783 522608117 131872488 931972762 520927735 129012757 207368211 264379728 798087945 444146103 385380416 511017220 645013230 238646454 340456757 787173944 120738346 190028183 431499903 714981053 359515599 603502854 957826334 370964336 632801752 992689784 622065316 900763085 834110775 793021859 849735064 977541566 200433946 760732405 350250133 242467362 461397056 442038241 647095939 384660206 330201629 263420811 826547181 628857454 679781633 365486690 340003055 705642391 290340677 404623548 431932606 350836484 556010551 722446710 656432544 751403926 825227598 380928692 898408425 162354666 519011037 344862038 635313324 854204395 818568110 644510003 339641040 861510577 916264252 226376066 109297647 581760055 377304556 942966865 884689728 173569067 332570397 831707015 551009023 735586479 711150687 420381139 105954916 627850645 939947088 982801133 486751155 969243286 908749202 917965786 734818118 667010267 734923077 702335683 950616471 472353899 720938980 794702530 913840811 839562772 931940817 795302181 391131699 359525980 438430762 483834938 354889015 203114125 336134544 863037701 821009233 981274263 816818611 914000697 935417999 833192660 522356316 298481241 797083986 341170781 254777359 580522785 603064926 206226880 449575123 938649366 554520831 598662692 791392267 407089183 764221548 418668121 120799352 701353248 494294479 985973993 798380653 227854063 110389429 192619757 221577372 546717115 313202175 249131883 471700784 479191656 208433589 351537384 977018500 380283228 311410909 971747483 407180861 265583615 316279647 922741042 200678231 890115015 400127116 137866129 589744647 164012283 678787207 235078846 886617453 201986582 242910660 558192102 487201341 525105429 596510673 780460135 993487339 211543626 275208645 614190859 388645909 109237733 264530840 484102559 935750856 314376945 683447024 595536723 751218232 762886217 768720731 326876168 682720701 976647768 569505131 399726100 363070160 520884233 949459177 462365579 738905997 374239646 692380787 271646990 860498572 168919780 601926176 206803090 795411814 280960122 531289321 982480788 285239168 628184249 965201145 488740042 147039385 606170820 259859188 617008361 141157626 571857552 162596760 288659852 889768200 854513822 857438056 656475797 653586187 310422155 193087850 892807703 642690859 754777545 341135755 759474272 609693040 674142870 379362538 969031282 844660243 158488028 387157829 745133025 848784232 675780388 526988704 306383351 299943536 964662882 273481792 890696438 451832245 138903890 514084779 698739341 197951709 101150438 991894762 676455901 967677322 376450086 842814356 768060612 208503384 409607552 980948633 964162851 602420054 280035242 836559891 334676372 871888115 785495132 859804973 234161286 638766967 502611846 377386125 624401084 962247797 758649284 860790028 183988792 118603845 296001174 432480708 290767136 836185708 395455023 658107818 911406213 738038086 185444512 514071731 311698864 409964993 300869535 577667159 752407869 839659612 356777716 230704723 749168132 411232490 665788201 334639735 328094972 735913594 634086528 589028055 756071196 701611840 337130015 190416676 212295118 735038259 800739821 690539817 733715295 819055261 883577358 315492997 839441013 178324907 778566036 716104926 578534378 344307635 792228335 897088249 941805463 851567926 506846645 708991099 404200474 339546573 218697504 664291529 910137455 836867167 181867873 103012837 942017391 658224846 629708736 128674270 281301474 885181162 154712191 667572458 651129670 460550389 297990452 377159139 280957557 725993716 815025188 619873330 459995190 592220921 804019383 410127814 448701097 498045143 526951251 239008678 762158076 778978337 223450862 275352054 184214219 114136873 365221206 723660207 925753760 381502664 207709052 362213458 258569861 580292716 698235586 102408219 449875733 147286891 359337462 302866671 770704627 105016500 388436234 277358005 177634964 928350257 338799349 447788446 776479398 226538769 805102410 102529654 398116311 241964035 944340113 997822690 141295205 338692580 363157619 783574511 743853194 113533789 220629034 872507508 122027998 683812433 145417230 732562018 758420588 866513115 551688063 989329123 647002949 115260462 839537849 235207483 277620605 609483496 307021739 488476593 516117249 766475611 268654417 834338181 583180474 681102062 904188336 600949538 237459480 443744280 534954606 176430510 972498327 660279246 749093434 397669275 762114555 593837081 564882207 609214769 549343520 343752408 787953846 922461081 887282735 877029960 294678604 169492521 301455910 566398148 929702190 156363266 684495938 738916810 160417217 224979651 272982651 455479855 462597932 535014430 321058969 377981775 979710327 700004408 633474308 478948211 186253186 522760071 125685110 645577038 531560588 289084254 110568783 168055385 906101256 973161308 577998997 267641403 631619249 461046456 686604958 626173911 603728995 357171572 371451191 630886387 954124231 240185532 231354675 532498859 724718870 211738110 341805106 495720239 691366973 406712800 763228269 354956840 891563344 902547518 370862154 826408132 480250973 853712270 388455874 182347146 635670052 513882846 706731439 864485297 891652093 728640571 151587645 850958284 183472352 626936560 892080381 138775339 453053097 986392827 948295015 528588993 820599821 891914004 658904801 760539037 995379686 712140978 358020692 915293157 655505064 652917480 694218904 932584720 310112392 362176885 551621925 822674592 186675342 102349865 205733663 616857528 669840600 645411843 673717738 120322201 640335943 884847107 947688127 950357916 168263697 340683215 965919916 355601758 324470724 250963187 262213354 333049607 638242640 616588181 103826276 414815061 846706821 848817778 790357240 533138719 772353739 267625075 753436585 425929976 194415824 593167116 249891507 382409311 594564834 637912410 819941669 735146090 561841987 195524504 116076978 102567602 664514126 275591965 898807981 976694895 881765984 751497461 938107904 302075507 127988120 439485682 193944086 108051506 627165024 395189887 333725085 802532213 728605566 789389587 483024473 823831269 763386207 989716507 418025396 103284951 638340778 448280599 757527357 588008721 943657274 457165357 106357245 645283932 195859355 161882669 733163746 850347802 999690675 431006005 670060613 961628645 616401703 451456345 679854964 690610392 335320431 237633089 755947494 382278280 214549044 683401458 953372498 487399192 254347979 954564004 896330276 621992061 293812977 720946777 558913741 382520792 261236477 745645564 651515871 170868432 662458352 537170639 510353914 809131546 384381219 315406353 318130346 894317772 163958636 651372064 947744292 643061670 931923906 943850484 707962083 102702467 482840236 513957489 668632995 527172856 478640974 412231677 267596034 616451926 414842160 617032823 819433158 347905101 635858916 419662698 804690489 923218385 357341225 309523367 330754229 869598388 240711290 147541104 387338754 926292518 540590472 592931723 415479509 221192441 492452017 285219952 276885559 885274179 995355907 479465128 219918779 883806893 605412404 992455876 125062246 955028329 306869780 385610459 587252359 664565384 677555522 523752595 190274068 251363252 878648201 868623778 921738699 541320103 217616541 814624466 588134176 594351205 618539508 980369569 166493516 163037076 953699032 674048861 852356141 605078700 273905026 248631576 306109349 336773123 474103042 368260293 969425823 844397851 665627951 335084534 959107319 962365809 877933154 686497665 216489657 899966992 209070194 773546339 811679616 591034237 662955530 451126525 380429909 735387606 802218597 827983940 199090134 844252747 925220279 461068871 780629885 957470751 831633190 145498110 502204196 851242704 211015432 835268834 566887066 673310714 293116426 275734997 573768112 477221793 524385218 909171586 685407633 614776094 212441274 298423033 787521963 721414116 735085389 952324228 229761640 282591942 503589788 939544953 691726316 499898278 597519206 456766792 148398927 773251271 420979596 285978591 505220499 282481309 854996843 182352611 729856638 334848651 418836724 423674121 698434532 956690399 505735917 729444893 696181259 914193620 418284005 732186248 856340331 960827530 585263979 737650214 127642063 971897131 896084610 718976047 520918794 840651077 413201643 681584167 616308084 915966115 951562736 955959720 342126495 323834359 505728256 636816918 521498547 257842139 708458203 881793415 547059740 171294196 811325309 516264935 258195285 874147517 433527469 840158600 266858637 317292612 834722831 464970027 829588333 913420505 115971976 854068143 977302275 616471667 793392335 702795139 845412433 654443491 644694602 245085026 933968653 973238208 542096417 217572416 833782096 721341043 487330383 938616077 782248277 215428360 980046577 127703032 976072032 928381005 520817343 705260047 991963611 488394785 808222107 406750888 693229830 694401876 440239461 934095259 226552273 519202393 499550017 752132100 877612325 422486008 272976606 527232810 961542518 980379641 208466303 887355669 512128270 150353990 467001661 168648507 532000320 131028141 628524268 722933406 780672630 804473704 349015687 947756661 124235230 178811116 159970733 691880126 432636299 290180691 490715716 454862059 866153864 176877103 485496389 625810584 608231064 209637589 565212940 276824319 626011703 759327179 148123868 385697434 436969861 211013915 737332823 432856782 357483798 753143589 200124143 673161941 271840586 439956381 307942543 717997378 261214736 272620622 338580177 779079439 396382512 398156072 844148855 168893405 548341043 665659034 500695414 145592559 724564228 946011631 908399837 795798629 806469549 464783752 887647152 781592087 318927849 507420496 922485778 833552236 832648331 339365979 469924088 860785186 349752424 668830719 402690204 383588836 210174758 892292857 575001091 839433886 285023426 135944040 415749135 590831311 988018291 206428682 719020108 401450669 738168252 927283304 992174375 378014341 860891831 393826866 302546120 700607482 645491957 462433797 159418844 112589741 252231580 752632343 899482903 882631379 855383054 430650499 874500586 164394649 618376927 807851188 918007079 157724210 796584913 974611322 430108745 555411710 446918157 525945715 958332528 654095762 944743135 133920944 261202887 365694480 327790249 772675585 829075523 543805314 751437753 891730862 376805461 417144437 416056500 463110663 168598777 847118594 125916893 337636768 675397551 115880089 373213563 760183534 863972400 760699101 474684052 544520303 715258797 472085437 746627602 564327986 815009496 857482859 847835513 818571719 609230617 790521384 579969398 231643128 722940660 925365292 415806867 152779075 610337825 203292114 194398329 157370511 401361733 304660164 756447142 871038585 476998016 792728227 106099188 114773786 690875832 100554867 881561102 782557899 573140213 573655814 144160057 521841544 770802153 491185535 308728004 112949397 993863482 686688579 210256394 315587512 694417042 550418097 631221022 897936198 470754461 745977260 681259870 367055801 638999488 108768145 877518580 156312748 172685504 545381376 709611699 553613738 815143281 204541103 650406768 375210321 971005704 880238810 810479038 304363137 608333911 315475825 779381970 169099912 362814828 654504192 135657006 832874870 496803533 584068374 135741809 568413336 259592752 454238246 877591118 494256618 281476913 166240165 932373867 893233604 551918522 329023676 703078426 953371813 740777203 237106961 175869981 195654467 574284004 187059232 500311266 319017404 659047395 495534548 575589052 473976878 626424683 221491716 334614922 453763820 462367726 243123258 179053375 370637154 653040870 861017113 815094523 651449952 937833386 570344834 176107072 653581298 276791674 779165974 401668418 318392386 929817440 880528798 700511070 872068292 747221543 942306456 111642511 963453856 282647721 882897311 844838117 914767617 949780612 979627324 916665147 619932854 319515437 958979588 660180629 821365668 407275481 207739609 678603231 600112918 265027727 235084741 216577947 977125684 263754436 412142377 416381741 725913752 490529751 421870591 994795221 490596299 155201028 336133170 212891362 762948296 657311953 260621391 233985190 819457947 849297441 800697362 168655628 422284966 513565903 415849366 933584193 303892176 811291707 150802492 704273896 816930098 878041319 901316957 312739731 646806058 712877042 120798546 892219270 548176298 297566996 541343940 267229295 581512564 250634394 115740920 723361624 861957996 592083145 256829362 471492299 892688196 544127560 703382517 800717007 827474534 990970500 915548337 196801437 261209957 747672681 990766342 807823363 850259405 680935811 688015524 204662279 201015750 466683900 177742758 972117300 600771822 293676404 903153509 678858023 197748906 229914941 651870341 642694287 665152759 710844539 157401520 287425341 987716796 693451207 898506787 779287474 138712461 844148419 506858587 116045526 273549598 118631950 855536047 281518919 180203651 880786396 706179179 477833466 852219511 773922211 890323637 226531825 171785265 469527025 519042874 277361801 671964732 470086269 220137628 740659103 356888151 562435413 792355119 453053571 325975609 228482164 163809382 723159701 584686408 230208117 434393269 128118848 111254575 698718467 776848854 146852292 215687483 248685854 197650742 669498669 803445078 594138653 379820742 229439421 920820518 454248509 768233157 363980317 690868221 212958809 296241129 827317121 459236055 880564798 224099489 943486827 411296049 318052941 697357755 589909271 216043796 265007011 607117807 841951587 663848239 445311963 995586530 489136542 268900840 103731487 866500653 736038659 246797162 140491442 948488569 740249455 506240794 897913596 824115896 824057538 634810357 396297155 843156252 820680575 551108495 347807224 457875750 658247248 566141923 527408028 250855270 474696123 386901641 152287744 799919388 897598454 557231540 840436811 913027817 193879371 263267029 851620139 566693543 445790347 463648339 973912201 523069281 939471237 729184042 386514194 849000695 574183897 717980224 630625696 147329949 362241852 778616132 696603838 704776322 187836141 422573361 497684647 538862927 109512915 475390034 958809603 384144695 747098046 328116448 565302195 558177114 193024831 417125882 425197476 619476713 329325697 200267670 560988703 501256982 459473424 114261753 177946939 302256660 276916931 433857469 912186469 796635945 310622661 256339447 230618787 698841368 715277933 999567065 988460193 510090506 927007421 311282081 731041685 148950832 674787297 375726409 251355667 856869573 889681825 182346970 914888957 522380101 202163951 671142951 187908185 480938051 262790527 702044729 491753667 734611155 285545775 484516457 469476485 746039233 843107933 507534089 681549029 358077454 518364886 564887044 636697874 918634813 293157984 557001945 202868251 805476952 409981105 788557701 209080052 252979678 635387785 350521284 511626792 110042404 575093649 990418022 257498697 112414355 136827623 594084038 567238656 483094460 213068533 373373959 363861970 424168163 188076755 694118405 247956527 719406634 215392365 248082714 970954640 641390923 854795231 981374892 462681044 244249866 571624604 963505954 578320764 253465867 396301406 380683303 323662689 644183277 352070708 843816202 773702387 681523480 613254256 593068843 992744544 116214012 589776707 937247826 667836470 790116087 742836969 454124273 943115707 869461429 256889247 513627621 851021712 618268460 344736297 386378600 132368279 718775951 388760011 875266858 880666864 783705002 978559851 128388023 846659209 698866765 438262250 401426666 692873582 959960585 623550548 206759964 461015044 336963627 582254877 951825121 467214477 476068120 903301579 749914117 741256045 211309545 573730863 702534389 312301327 362291932 885115230 316571062 455363526 721597696 402539553 514867290 644642267 385241758 669612701 740482267 118109146 581495480 334015040 875355478 634241346 358928614 345565497 576180928 395815846 331451049 970647077 180819768 161898060 452588822 610916533 227763411 909485671 360746138 735918643 297805712 934119002 904023993 508817898 985393002 850443729 517486450 544052954 781098214 243714911 205248999 120562985 421788345 473055003 335073519 958446333 281359153 993600917 770120966 692013857 896174186 985165643 120055570 340214739 838801334 993206604 372828347 230009202 803208027 143142818 578892627 766944001 931125124 284172324 947032217 906250040 796662039 623793929 403198298 935614129 696636771 998602609 472943768 288326857 272891559 744628471 654993656 307734456 716177639 599519529 538776310 504230166 806739182 580038965 681618263 324100342 898466982 121059278 601755439 738907471 690457912 928840896 547631894 321595741 905291794 692602168 548743882 559869448 913514469 712712443 443798153 712680495 365730132 611452063 813861800 990810223 954867642 825628334 257551196 665889724 928130224 484765333 322137062 776442977 481114127 507493814 301845086 289403752 365536528 855511768 532445521 694468275 738143581 208813625 929648837 461542176 916458316 707709462 618175266 260031532 449254277 896572517 596360946 407763345 680601567 352597703 390218832 507981023 107343682 779474772 609174275 844493576 804962826 718075909 771743895 255664662 349211679 502647233 238584514 554056094 986750634 552589674 218445037 312781883 991204245 336172896 181472205 823422517 189662784 478889255 468868362 361553699 778557441 317220690 549749034 904921097 581888806 835074433 167513058 911056599 600405637 114607196 313865985 973688056 174191270 964795534 612473940 718293580 720203446 211388117 978017861 998409039 339514570 798906850 690408951 619328542 694536687 382369579 922477515 972019961 214684809 889938466 528264988 325927016 379473753 165124312 633619532 865832689 651055060 157185146 985908412 459745820 426293155 226460534 268423945 222887185 697982132 196512010 552376527 287479686 371552426 975057558 863505397 501513276 811601536 506296242 212902386 402141519 310315250 619516278 830829897 679521570 700982189 629546844 785960197 858575482 618265025 800972459 511704785 730510431 984822434 598346878 704328497 313960640 936236393 388862546 258844776 178247703 189419859 212158497 551197074 903868270 444333628 253641886 219579569 888762488 943878017 129101655 731683277 661237529 124295730 867006753 848164869 200823040 437884744 298615451 152300402 908328841 997642180 318938097 858245763 235586173 351528265 368592382 789315689 381457370 854183029 477081830 605029361 681555052 221660028 911595652 800742808 240687375 633092236 276426620 728463179 730188342 817417496 529615918 728126325 548959835 968993808 293243269 454197796 879154684 625193182 456786639 322560641 905884420 984242801 621360614 936102345 599100307 944978809 309099587 156370549 545848920 206324187 648710838 914547971 415481342 194972438 229910227 362484172 488387099 576580412 826030902 609494457 739257276 696952048 931050495 175844829 265905609 869147537 764534219 484601424 643041560 924033733 253723510 867739802 120640581 680452384 805691616 961264566 135334613 943560090 285507663 951876851 929693601 413864889 718664981 834755914 188968277 610316004 873013741 740886984 570552745 300597576 191716463 622011341 813804848 643598484 325712500 562163881 218368018 473758637 912795060 152910568 603443427 433577123 401629169 915315914 737940337 161597903 836422943 667721511 909377578 649342870 970970658 268074897 507059830 986872118 647852864 197596310 986053597 759966013 914334421 603161200 774664219 964258552 483690384 183181491 608466418 216424262 201885552 700927706 691378227 116303714 610335717 968749050 594906192 781051821 825553954 891615649 435686231 360212161 442125323 406098453 625169684 383248178 175528252 710991488 540625679 515942206 722382388 727147598 231849397 270820693 671503271 553418801 870287377 695800286 294578114 375847218 120179644 313889979 576444097 799716134 879359922 657289856 296474127 848144442 154472382 568992980 242050455 453821909 190577644 598544047 732365988 851963392 577790529 268720425 699689384 713135043 381423636 450501889 659706786 760842155 332882556 972242621 849166127 536498705 227489810 930685942 576119580 993519890 248271552 267628061 579194395 988575797 848002833 761842169 911712569 336760281 324427654 378075627 128131689 965194614 658655332 707702446 894298431 502840174 943028648 580396001 653388179 166922839 990492626 361382501 840158663 118930831 205089571 733506847 775757445 919911877 928796932 700215878 326155160 963771878 820195269 713732105 942750007 686034032 283845537 779866023 769994988 638063456 725452332 798439754 206161383 773996675 928833946 503980979 893755669 269937012 768028938 990923405 316501640 690080914 526179673 436220001 468904721 193603969 323396673 471177747 794361254 622004058 720558524 680800222 117749216 862962654 264813861 890465209 942681463 789048315 665864991 706258272 917320634 166026437 759340477 589884145 670450133 911600140 156905010 806799357 562500817 574710706 371376794 966550241 180690937 149732109 396437070 189701240 267146074 762647241 135819101 360191046 535162799 662224727 962511470 747690293 877590551 429914719 455236048 826925634 915409302 904993760 932158315 305161315 183144322 366682569 206965569 599295907 638917581 757040277 153993639 288340042 463642489 448382390 132919805 838380662 895924034 488736865 741817564 424838086 279439408 512212232 360336446 654050596 683800977 547780977 964397579 730863275 475580500 996940388 701028311 564815615 568784234 878742871 982454810 677584710 795874392 415396437 893769773 357974619 723081591 720849313 918183819 753506131 390951651 630403115 824873871 860732550 314317824 567534418 292077991 979268379 399023186 508686099 989652740 258303759 868191870 280790791 648346251 450524163 630397792 712480060 277531871 306396457 519007945 438648100 257240843 194998416 121131056 781435356 350921253 106849080 691687204 209161626 929210397 840234504 489287411 482341484 862109459 557580817 806015622 650948153 677092538 372158163 409641540 413298085 852393941 704994920 610580494 953998771 659879868 104389245 672299075 291057287 983572081 383929407 509000482 463157042 159676468 510669403 353982190 233825249 469213509 198107939 336488831 380006259 149062385 507340420 239165145 612338505 952662319 727411522 385930314 219104326 926794520 347847621 631350714 918688155 487322381 298599636 847315107 572955473 577214849 250483279 964230790 245633065 851370787 896839100 262697378 389565172 810282997 854949439 968092817 514784997 995801051 159098721 913747521 895866795 665522140 263824368 974527270 123021632 822407316 196698731 589809075 692121391 536822697 106829447 853480093 665891200 711468311 191303873 613096058 716476742 257146605 575018374 464979103 332877585 622108374 724869420 889521475 572466985 234733726 834966895 200927329 490527294 781962945 505226432 557308380 761699765 697451973 730727386 670343217 701933214 526033699 380944156 162095258 460056494 956019960 802476391 321149204 387839740 859043327 614943105 771918580 572019824 193197786 173289806 750309214 666596253 139912276 994716967 217346643 355378420 464661617 387652015 559882804 236759266 136024030 725984271 460808408 629822465 795594479 528274883 489096564 341903303 397331370 740432209 316545585 146753408 920680827 992599357 573987699 141473685 458534271 908232642 583568485 675186131 450235256 921008220 657885809 452110295 306561946 178914510 264772514 421777596 355718330 518964153 375393602 955357436 431959852 777272505 636874019 398019093 393325084 378343037 376172237 420210133 316728512 873466739 379147058 403734337 655246897 818322298 948576195 994680683 343698598 751838087 108575689 287359875 634263146 294730876 537882381 365556886 512984524 291834987 496596714 753907309 508163335 595321980 854260420 630775145 422782436 518581997 862897355 331482917 787626313 304045711 335337330 713947655 822042416 778738188 330083209 986867785 175532374 786662307 151292153 921176071 282187916 432735987 435928143 464680857 263892811 950981085 755639178 404193608 102922154 606050768 145313610 878056825 625534022 237841116 260296120 683947343 863517124 833652603 793692245 314048642 172785979 879872913 824954033 459404573 816727672 243877024 729274704 861052011 258020709 288939935 109974750 658350035 620669250 355323300 928735912 511245787 746271663 226898015 617458368 244742011 622280308 657300000 843701204 612850065 629099036 699015619 698676764 243446727 219106743 260623131 230954164 677822310 527983558 671988276 574547849 229825240 231402979 630329409 878825817 297462626 141188762 272091309 475764443 119246545 361918939 948417397 905825002 522468635 766028930 592191732 486458756 809239096 798619444 968156777 879270638 811872376 632829067 649644706 797413159 709803351 812624045 315444266 122719429 744375683 345129944 767787792 468200590 806433502 376667482 127784740 299341018 504225318 287393051 696237059 320987431 896907445 816079675 391436223 323832964 284124717 478680299 555651443 675420186 309762647 501017648 204527126 249361612 632438950 984915094 139967229 527280255 375507954 271159350 787525797 339814082 202469667 401804585 844913645 887107855 124417947 191807638 288275341 576923926 119733803 159379778 502164275 736311922 176700784 142552870 638075825 545605955 984589580 306884583 689559307 388627520 848408611 175370987 623002828 515941293 894522280 125739684 141643419 637545429 745993415 751147641 322438973 670629781 330597761 802192521 358550418 843748012 626856780 791854621 139893434 230154704 848804155 850450292 187823720 289850820 126392515 588058924 669654900 811879517 128254970 168351083 615242123 822402777 498869406 943791576 273100667 110300578 368548343 229744641 435632292 841871469 311489692 203660802 772995598 120081205 428966203 496939906 473209123 190313780 601840204 860482497 449607193 514449661 750134318 762872474 196768347 741793803 596408555 116086500 594731842 215434580 640456827 979506658 515141523 292299875 591241114 110814748 493840272 165067146 508334796 490943530 619293836 351667178 883929130 692324323 711797229 150125215 849447815 512124278 848543506 657187686 515061903 141157442 461791854 546776129 395343790 492302939 830328360 502307448 473851792 444226552 454777236 890254060 618021570 403883307 284239775 504920423 990946769 514748233 503917103 443616376 341542176 977986089 727217187 324006882 911817588 372227767 219544086 451177030 339905762 684557608 376094720 981853882 611263579 101042240 304760753 927111041 193662954 865864683 326710544 145817910 173524460 936391790 161397547 753481751 621850477 953883894 849440870 788938611 802471823 453283921 718860018 192287289 281755028 257976207 635945129 936068427 602014185 584534660 319616448 612099402 656771078 910161163 605441368 760193532 991017738 659375298 175139207 411204702 235048897 520056676 881337398 842921786 899632880 287445932 869433679 156218614 591788127 591120830 403620006 324753966 639424576 102649937 578057234 442252244 281326471 629127307 187978247 960970747 599777734 642426522 121493443 845875529 880273233 819979123 529791364 404489823 421511410 940860833 848602527 524252145 740864020 533349913 598028391 528548678 374039636 692537831 430108507 713891730 609736751 302569360 699015414 781275196 868982204 321889023 325437754 696612434 506229499 591077257 612001824 337151719 540715307 509412065 271957098 829751378 230847815 639345097 230361440 763701372 917159093 764512463 832052797 352684665 356215873 686621199 348120868 164894041 720853679 653064108 646649639 181011564 940513948 153611020 759146152 384354709 439212343 370109242 603546558 840853101 336196784 796095195 315391681 255850547 768435315 661964421 934565818 757274694 665815655 823284667 635979751 550822087 283337237 501726694 855051783 808993990 184711916 643143914 584798340 879313438 276829858 901811967 473180214 593607198 959289184 474701228 667620109 508206022 229853878 796013637 376488544 237626772 413582712 186922001 766557099 856098045 107829458 258213812 833924366 516043971 369424400 621064008 931410691 105793934 520680834 261995162 832035694 700638463 288209746 356594371 254539307 180381609 816669583 551184354 497882881 505201820 646321399 988800312 966056748 394614258 200118758 476107496 655402536 601153782 847809654 567659066 999091463 962498669 172632970 564906922 590112872 530031446 492166998 578220213 260771972 533381106 859855550 362246098 302550650 677867730 467691960 475103064 437057999 310535462 285130581 202795753 625966763 180023931 145417491 780188450 597151835 376550656 727029688 903779124 374908288 676557985 830480941 433544192 364545669 128746036 548799409 928377764 642853416 577244336 139997546 692668510 264154347 865257060 203460955 468365256 205533713 636278492 563365785 652015533 726108049 649690034 920371338 207763613 175651358 554972112 314478608 411481890 926660662 884939974 338949541 839573366 698000764 889829966 631663083 727845301 500623583 643629308 340842668 380649979 747955552 348769977 979623367 314731727 829885862 224244794 381382395 566815568 569570668 784043788 163455998 873527769 811685755 615176712 219011625 434041618 839800115 906460123 636286561 486589452 247304167 855275506 803519901 918125029 299109239 916271611 106135881 837510445 731627504 290749892 382276678 506854895 742570287 939272667 841616426 916067460 131500984 424808821 670562526 760514300 815749286 342190563 202026368 771026473 815467318 189796506 197460412 299546724 828024434 867015234 436853026 399925845 573210935 152937931 874709218 540595434 960073858 931661876 332313996 737717904 840860607 320501433 355269346 986258018 604028964 770737782 355175435 106320177 674999586 938398508 704233080 372927143 298038915 443926558 697564558 309189022 236957412 988807501 488796673 269760744 777541268 346380054 226851098 142007528 653162502 125930438 368784566 552612139 781499630 947750588 760660095 101421762 275002045 796966580 273164195 584491225 974386677 624477480 596980532 570327612 909449957 598623359 612642967 283103977 299110184 532639686 179475299 150651665 312610075 139130942 485069522 123808150 611200975 960177131 460675050 607955469 450663459 609340503 577233909 405683517 711683755 207992360 401929929 431558397 889345010 941180616 685762410 316988289 965004425 674590829 986419948 753750895 125023777 186799254 139600940 433702609 143173359 835235655 705431386 488677634 713506915 194010746 125216669 829172305 630492270 925398342 854188248 887167148 589760697 498932076 426060340 611454832 749428728 990089625 778240504 993001088 582816966 913329253 851429663 401781129 400120294 326105284 664291539 819209212 984932525 879663588 365827378 338860129 600383573 183022695 441647257 683907281 980040693 162618738 589791995 678680079 772744357 659976310 463985797 254066164 784337527 307935309 277114399 536871887 704368473 336229272 533823682 960690344 909091819 557214821 726454303 253857810 117501974 100011094 991482779 892850838 918779129 209408564 411501887 763123475 166306946 163715788 279880592 821463500 140550094 273938175 689610230 761387936 851903435 189164937 891147408 144156019 657943660 928295128 985010639 865847480 337388093 814915123 269793663 465583583 168970802 588212998 386001373 512445861 129493743 536578079 888990004 624694772 597133741 660620362 300325648 479719928 313244220 696578124 651454951 990341215 528150668 854417889 518212009 272025320 600187811 328810134 503516221 720332411 262674509 985083270 645001497 219139710 566693283 478368963 582818648 160538612 832385784 501684319 969656322 829135004 691095051 745787817 550870806 854606368 134224568 165513948 309364252 762307617 147565190 384075928 729091187 429244826 713741483 830260739 897869206 345449219 940585183 916544500 731387106 931183862 922585320 856659468 891358089 531188623 305475548 506887206 820844881 855471646 430331259 452068045 127991451 871099987 524952821 901033896 957897182 644720919 748141754 238955223 724147692 495573948 876579349 797434742 277783065 430415013 275540844 391459530 554181665 219169158 653044557 748937945 105609849 996609126 955324987 739974633 266200649 299464526 854086058 815465950 753865921 466940108 208687928 865500651 855666530 688743092 850757750 204679661 751448810 798124054 614681021 271318146 561071459 374673840 430192478 358939386 700819987 419592071 345988521 313113236 710131433 468627489 464726678 778189645 799774388 494035877 686457004 135054179 718228718 657374999 138427099 992775524 189035617 826136259 641488088 834456721 437645843 637468404 802349898 815031208 265296186 292101044 849679234 250310108 328255482 116653888 153766555 343790932 632126834 852432319 437189631 468310104 746684432 181691160 904927976 892294850 898205478 862689054 826901969 189344648 309535058 824062100 718049776 539506329 340611657 899476297 988946186 964493327 268725199 226396038 114951956 504961051 451445005 335876319 446934202 948446959 410338581 505257027 706890993 868165608 159024512 406914543 486991155 609110148 508534127 528811563 729933211 652447400 766065984 460716358 479947625 196192094 319817449 364866270 781906114 301961279 114046560 812041513 514277021 986644073 659792090 259818361 684160522 839657103 120881643 771765155 376840918 112681265 305376415 367422511 540695529 903138026 859137942 450286386 348747963 654990942 232506093 948030618 933271788 432119142 208766036 553909581 158925609 900406936 155847623 358976189 457172990 376275738 867068366 725904879 791703990 213502662 969795799 904188312 653107313 613912953 945733903 804618297 709939468 308861160 641733549 191347646 562218228 418925626 745665112 757836884 759531013 963038469 223033376 508905345 591903790 817232626 400225253 380240497 582254719 160687663 498322417 548624702 451600668 472655111 966230405 664397917 128659395 248585079 385641451 966007147 176932039 462827609 147311719 106382345 749677168 478784664 628178169 819288452 998100147 941451251 471711140 970503681 681046193 398917095 770944531 535874269 297056021 446066255 315216996 494014045 560095678 477694198 126879725 844345318 405298046 218769057 141756718 265999985 959520286 313597316 795624360 129719575 825391146 245215885 540907258 604179638 281568905 599407255 206075171 399747285 850789277 873702230 148016103 137329206 923651204 102753950 442834548 405554216 186036151 118289838 202099251 474972366 635514508 228930378 449473836 181955361 949758714 733328258 223611590 683369544 142196335 800159564 139854050 170902523 327227281 912843910 596294401 200692994 997373765 378677962 291693652 899201782 764989727 203445777 359732193 797882033 357804385 121049790 122738249 231324946 500986814 864339762 517536561 846835547 206438315 429391255 785128876 526609916 588739383 963604534 204032707 924136157 522772495 273013461 389170211 758859248 510007853 226413451 206212477 798300284 964458258 728642508 430356216 843877663 639674354 126965755 953506402 935504703 354382283 296901192 534075147 538117433 154825645 987028470 331051180 443012640 962889023 948969765 690659111 872424331 657635345 279487842 708901706 964204171 134474554 236018690 190461950 315174537 686657524 817763873 688329986 665202443 807710424 557826081 828276786 272188234 863888798 737373469 905033658 946637813 766658457 509321810 278568323 855960846 512031583 896416915 171290325 822065926 405109002 687099088 752662086 507369552 799353626 187422242 161479889 607949313 664589986 297476236 494430929 564357727 593018574 817922718 352902599 997164690 538569344 999768328 233452847 298539394 149720675 111491453 340265411 718782494 404746936 317344467 653982306 159469812 820935327 899096103 221714463 438804038 266046080 729694758 939851366 405583739 996945510 708162211 487805185 632167512 873214942 208960590 996326810 131179664 970553252 847225727 413322403 158830392 511748257 380968826 811317738 255354309 337879929 341601916 503688996 358836586 680351222 376833896 877494931 606381005 580133747 998933645 231608178 878397160 677528069 349309961 439617811 774414949 622315300 930244041 773116953 169057360 510197412 932921202 880288407 260293749 557684533 966951581 301824794 685751390 215958625 977340132 629463038 508031232 187984044 150248580 828859732 365198693 540120349 121020347 560795860 231673961 443239126 815448486 666778850 402234549 599781329 631155161 859209517 266037858 188634274 264856805 507963506 512284947 485413866 876132571 991899410 773239168 359778037 750513635 943983035 454041381 544528827 446098562 298466166 768673292 222543331 290963150 559285564 958759375 154589195 602924763 252486216 347325903 591151988 915579438 893026291 892930879 293741077 642608256 734751856 675371924 457208387 297035566 565107160 977457800 951209684 310798762 987212843 483854950 681947012 314891772 226743089 555241849 878340989 905102602 453104592 243997073 867645288 912291180 639538892 123705884 572491108 459591703 570914582 983350957 612749870 907622599 257109742 190844576 484695842 738654475 556864722 305954834 337941120 946291282 913910971 801156159 519971022 397489192 617650395 233949815 902864392 566633158 344201827 129920762 814663488 243410287 989253785 948613520 830644322 113152096 638518893 706693097 193774356 892121167 600456527 721680861 122903420 472174159 108200983 171281264 370275624 843462802 533562483 195302404 255490623 248825988 273981595 625090569 258210059 607445700 799606607 931502084 283229977 717836567 946336746 248396938 543475684 461459011 401386436 421260359 433857174 425139171 365278004 119664763 659969449 361300326 597186213 181772333 193941153 408872082 226523394 825580249 838353085 256552105 510389614 384711664 486962374 425573102 834139856 996335703 299076721 138906229 138883636 334101076 449199013 635185000 698302908 143889850 447207229 376240800 619819815 732601407 691903248 168982613 559432969 328133295 682637439 149782703 107664441 331979262 799654812 863032436 225023628 114257482 630840392 214264164 688851996 358992656 180394257 174827419 950354399 773520152 494181402 547575967 672377389 934442260 357833177 487750276 476036441 211894919 892188369 365312266 707504429 576223386 337989635 653527056 135985005 435449578 294578640 198430468 428113324 630591927 370725106 166155808 510961439 345060191 112743219 609448530 579027000 942161296 957148209 175164980 611531157 160011020 622276539 641994460 540561176 797549048 656568179 653763131 435688947 879388020 283067433 222745867 616675972 874578502 336929294 868670790 500168175 642787863 794958450 417717637 189832095 238411747 398116010 210712026 123259216 132245618 154608530 973892109 650945549 743029599 272657810 708341376 655676499 720994851 429811359 177575228 861368945 112618377 281516024 307576413 991755189 313440455 628648704 886140369 164310603 656363035 927349939 675380909 891543311 508179977 781909750 345028929 927334141 430320484 179161316 127776887 885129457 104105666 325916396 637162630 513989765 376510985 562634413 718397138 143097073 910050128 194247020 262065746 374760883 869401112 228998879 178763119 417906312 478079855 218020134 544423721 531793077 690377969 943575067 433135267 127840077 341801231 337194174 440139111 671073708 320575432 975215660 512592859 848457855 915748704 758599502 200075882 549624098 416898237 346830920 701982109 193043193 909867216 880158369 394953483 538316873 725495143 776359856 425461365 801855353 418091012 751134820 325804407 664432495 927651202 965996908 224063514 851051758 808020825 603372650 280118505 129577988 338800261 596899673 875140912 396031634 371372932 287730191 282747522 303236071 921546483 847329852 894625220 259286371 427045218 206379236 881788743 540403278 983928358 871250029 157140388 974108515 263925666 771124239 475306013 663343214 388756602 918143315 612586163 119703036 568359807 208800393 328823058 236807403 613815979 832657833 895870035 500195039 850943767 939000962 498409717 884293476 570156098 207055847 827309809 128357758 287445483 887033504 581754769 873257890 230981714 144751481 728802593 912054694 779825498 332863201 754685348 205917161 933100616 649624640 295445395 545605601 264935176 539315854 549275661 893577115 850734837 956135293 991017794 875199465 433292924 930729231 347583055 730643886 920652796 738232558 541836579 858694165 933366143 393997086 473941687 632261141 654859610 779707771 728071700 221044699 999000219 577168781 199109943 563694008 830317475 177768775 867579400 164515193 655308655 880334686 807658952 638224121 450845981 812850044 983886866 560950437 375500571 768648730 221363206 832732333 993038670 372016613 336507773 602936976 528135308 258770395 762654087 192851201 827704267 360278488 960155094 292737508 122903371 175304780 394944497 665373344 835414232 129480635 950919278 224317366 798208968 708320121 799592193 669754673 312769838 791138233 309224711 525380060 534791859 578559415 434374603 237436259 885736845 132844289 100517904 116809861 982378799 821044760 164641524 539265212 894796074 898805491 612423458 853605548 423836498 122585267 478690883 378352825 549651664 451855217 431070701 699975337 832195105 452980351 569671099 877047138 404671701 843329047 172533331 331194503 720854169 551894840 822198670 874561380 992016461 570589670 413894658 838401502 899323902 751055120 833334388 175580276 282557254 242728120 492077894 740756757 775246908 255337815 655485163 310100663 629438369 798605230 383832626 689026641 371094613 281804831 245908770 864753929 219672841 215979467 779684539 554070812 131629213 227972923 610382188 242923485 402719097 373792574 917944307 717999861 958804573 127616461 513599945 356732886 650522389 399924902 126407407 891527268 606659781 713485059 975905911 712901089 903020356 754669212 646004846 788924345 494633640 632791634 964657633 170438104 430588289 411382887 620567536 199803543 433171508 980273882 514243207 424778039 624307769 762935457 892307262 165177810 791658389 956269539 471737160 178702840 661358603 780453458 594220761 329718286 991336593 441683576 213383821 105008273 820839365 776519060 107780811 799944094 536564321 348207786 960859056 317262862 866294507 575918178 797977956 115567505 731118327 178909559 800469020 727710667 881144466 989775766 699791056 839091959 756321355 886376412 499833593 409460619 463858073 218062057 329235308 373041414 562425438 256489259 920152980 696348356 828829447 224832710 120784995 283874386 244649675 370086806 499200559 122165779 775429517 713509410 872106834 695796420 133449198 898611592 759380847 819269646 841326369 498847199 611197446 928142222 640389244 330091893 954722559 927244818 614111021 546432259 490667452 920181252 424303103 992862636 137134905 491443889 658687549 613387190 889639985 178989888 955971069 815874726 543032040 356335539 166983230 111581562 943686376 677898640 535950921 540113340 578974912 655615001 297629997 571737045 823689800 292975416 268234392 510104237 654175981 164329456 108897371 427624526 263490131 475240211 101676161 218629469 159229004 476710928 844984566 886299440 453315779 591216155 231400155 978987770 341708501 675517854 711326880 740902020 422162576 600563244 855507037 790089158 157897686 934801931 242948280 642844165 165139965 105057435 895156642 873501813 629435145 663431403 358012557 322938759 872039460 379746092 398118779 792630887 366153181 803701532 332812256 132793467 974740660 363459167 448282664 822632992 393370501 541610928 448983078 263406298 411872847 964873539 660130993 687104470 257355281 506025304 661749014 927355647 255135015 833868160 616202689 866301354 706654824 170047524 601358486 913572692 486130649 444130456 497978076 374500672 526416561 119317547 341113882 288124824 876784042 347742279 477172862 620278222 275203576 310431522 311758653 334694565 804279111 454307698 267752892 117986558 478034003 436099848 903134249 114595764 299984924 744763063 141710726 493057905 996663849 222888511 664269871 309089058 733462093 757227689 763693698 545208750 294510536 454534716 672609316 436281480 746239248 153202369 260621769 266571675 881880874 790540226 433892388 271146802 979692444 382655508 809203421 981818422 801218103 183825087 919970803 776974861 281270547 583889935 671205602 369638221 298119453 907434263 975331426 672380474 738682055 990212137 473658374 921144954 191996138 270540305 166234542 740001493 677117256 864346888 120834108 858899301 217839097 643727966 599930796 948212347 187439904 961691066 147580321 702610240 361403844 542781889 330781176 960960631 109763901 513180811 656599846 698000896 185688461 610789348 563966712 940480210 267989857 687168900 410674634 520782612 365536479 365210364 479625025 504315279 460357067 306902647 347418871 420647993 937201040 781447923 319444334 778316699 416190370 293657659 173329938 224692044 164908742 136277126 294829253 289891215 548478864 820881127 999296155 266641820 552360231 681795627 907725361 696822293 337180590 799953453 281962716 580663676 407519556 634794377 812462025 225591044 403058985 518023979 167439625 568490544 715194455 784329809 375252584 926626876 888870087 232328383 498477576 292057583 930388022 292714162 476765730 109203224 735946322 222892073 935098646 709827298 503863105 245930812 715500023 498287563 527529948 192380665 716956470 643395699 556353220 997868329 604780327 137601256 787549833 393113757 584317892 915445962 888423999 349387759 200096690 726564870 960152897 815125938 415654364 621625306 527924082 240088617 165528301 553566978 144565882 632489708 735244976 946821275 595118927 491033531 280672022 508305161 883047291 289833147 261321998 196145484 199612168 476324467 442561408 718305548 222813336 793638197 156845800 504459984 334077320 808708890 255132849 669583722 912478860 870203852 286092339 111675413 453668860 817835001 711445860 149475167 354657001 345466112 323415216 263626965 268473967 232601031 836787083 819215275 825157917 598897795 215840953 680668256 989879925 140280927 288991928 442950746 137681239 641619935 237263743 518454330 189617277 264317578 410058065 858287633 614009046 407478896 883203790 531034692 878272476 279863373 563368155 448252211 762788385 779203352 483376066 451765200 721175420 562661258 168438461 696638610 213901441 877930697 412576537 514801821 194392779 994553096 305504431 193885642 413612750 166234610 216147139 289469907 194004553 490940170 540586782 360530179 900371753 618024570 193296780 536753258 842382659 798618747 930529274 207785843 636047681 855060131 996192620 700530356 712957181 353852342 130887985 335965027 654128045 281130992 273161394 669544975 391100329 741316386 605544349 611005989 119771339 847527959 859757851 573836501 839963806 744879989 268287539 109829659 812791235 524769781 467740014 692005746 102418373 900314853 562792978 419678034 620819772 888698047 265248901 651692552 593980911 755966732 850157537 500864578 847357664 717837801 615985595 133567847 660948769 770884079 718626890 462033834 575274210 154050038 607258886 579922284 246605091 946301808 305731663 896697118 564331532 147389607 459733040 891932110 671812518 631763732 923684669 488598897 275678447 681707937 461623690 242430073 720209037 558943285 545305115 188738493 938309970 239243431 101664590 477470375 418444164 424719497 584437779 214196424 668345245 297463475 398726631 293325830 593460542 196969723 722696027 412067873 679604593 230118630 304289686 680336251 861303945 447937440 245445744 325034374 546837097 485193205 386340868 751168705 848771879 770383635 290532843 340513870 118293203 218646872 302620555 952418540 442717508 647531566 277354698 961965674 227903658 795790121 298731657 598767185 517543101 300138265 594765051 106055612 630368955 498532495 222156993 741024095 427590551 798202235 808677667 917606584 898385357 981735009 707958017 871159301 630832137 259616007 418911588 484761262 235302637 433860530 638135522 370326692 517327689 287417311 187306641 871195840 815175715 253909071 458100010 600274599 218666844 107383461 284282202 486815775 428740930 265651021 169153495 206016193 889183993 792923727 438483718 201007358 760952238 957461615 147325286 323743180 842629866 399156898 503417239 136697715 810229345 666868317 747762871 169919860 127300145 387492855 421509490 989010349 347234489 722596346 116914294 224846130 596462611 626050845 911083673 928900497 195744056 654593872 833852895 734065866 124286794 935444337 955818166 217903778 755707509 284839314 961670926 404765306 302784276 632735874 296333184 305451389 626002097 518429490 762435159 291434465 816306150 653184634 980642065 624370993 363752816 415077592 715122150 306581686 698714512 780458406 852754986 986117052 838596434 541115179 386572938 958030403 292882330 326295083 859632967 456226567 462052596 971058134 499513301 729659946 687414858 501309728 313041109 613167982 719735660 911943727 486837951 726479438 627892777 210011842 731865345 895194566 544030434 279963331 616493892 185339350 431211169 569743755 514638445 183958952 231703274 124729569 636348529 314165187 666709544 572664534 556194736 204463521 449409183 689293098 212287657 906606787 489705694 646765129 681838285 556631578 442878997 304224813 423122937 478365046 255351284 458157212 292408910 261249999 939621051 100425343 687033888 173014784 832869784 928618179 890554307 285169156 656714426 680962805 861691129 761953676 942113237 211638354 131892265 999040757 145636352 863521469 870476360 993583377 739709904 145243679 547509803 717408727 271915008 194747828 474337811 776662989 596842652 144244512 938644855 940629854 964195088 257792730 179402763 947514246 948357560 359324021 499059163 931018355 558702780 474640838 292376014 219636782 197936852 765788360 431400680 730015284 813010495 175346696 252350308 558800794 180913436 118631792 488195098 193999263 288290168 540729304 296756242 729847490 635911104 552241355 196608285 163604011 781598599 680329157 848935421 398930582 916035713 196218897 544992839 718136157 199418564 791283388 155748696 667742172 738918412 652040180 883193732 330718778 957353006 972876127 349684361 392389649 945848199 907044352 829851322 749963872 674742370 799325184 479624124 150647040 819871837 485751006 889054721 253036487 730218749 199141177 387287263 375844196 966093833 595470552 292867098 826969445 970828397 111611217 896019328 327253006 126141567 264803529 602145262 183001262 453234227 842243945 523547977 385764033 687388909 204275569 660742183 166277796 291023581 375983715 746436216 439330640 115510395 663221668 726806315 147217138 830070493 458872507 789228200 541913850 124040912 797362877 495938096 486170453 910386096 315021657 998536929 995711166 521157769 135615858 790227352 602667888 710838618 854893813 239391168 801144493 986463834 901288961 288540673 862294010 549271132 523305256 175670293 233496851 154896463 825751234 342989318 816709999 416024917 123689527 147130259 823380189 192217060 813236257 442807523 640313220 384303427 781637108 664138820 912942897 945907336 572081310 107291517 108667935 639950462 711937418 860541279 547790623 732198827 695678925 940168675 609315155 559085220 498258028 524572317 980468892 415897388 966799295 547150494 992666589 768158107 848440125 945302826 111776657 113272765 706821358 171369497 853340782 595133183 245381408 831047164 421222513 667175351 653569049 955565664 372853745 871075775 607737800 600288424 927840406 834688210 292521368 486603093 281448195 295589299 299819691 168541509 822761548 204844941 219134827 182003092 796017852 665182377 411704091 733523693 116438288 634304294 257495822 915062310 534019101 357252698 264629543 542661158 668227854 731277136 730993628 254642271 728328318 475613530 735907583 438267618 114920481 605111381 460332230 487383096 742388790 570020534 652936031 123291509 986776951 511436418 825159275 641488585 620044207 220554080 845165775 445811609 853693891 226895301 578471042 314437633 614669608 769145910 426436815 145814562 131902960 674126577 891114500 278680110 491663016 929240085 237722119 426800946 162378842 371258206 788901906 797186778 712199796 198615907 529485016 517607681 583342176 439073451 338226124 171713948 452256576 940588151 670494628 939454604 561768189 512891930 221513078 873926578 989720406 276166432 318014273 146501627 595872311 826074745 974545857 261660745 658901558 999129638 922112785 182842376 526463251 128929278 790997052 311441460 439346922 303847822 961705508 846907074 389470963 200473674 108887832 535133506 754588751 331095891 942712915 859902634 174050166 143733852 362178665 324561708 840182084 969884522 749886172 571004297 582889017 949097993 377285961 172950560 136640580 729048884 262927306 806763037 453220541 629166421 797801651 540802741 588810621 296784316 192254500 306460297 919808124 311954858 190045567 680464232 787279278 734542958 393212037 905408351 256503719 259180136 948727444 486125211 180784440 348948789 761868118 415006036 206565411 808308975 185726463 497743116 102355773 785113240 551873824 838618177 235800931 652915120 618356299 943568039 979619016 978019890 100356272 905792877 188609822 318516579 872420145 634408816 390166885 501108782 580530637 696126729 731711976 318968228 528822190 591188636 262697440 157591767 440088760 907750895 772247308 379674725 975105254 861845201 516554173 221853734 429807629 841254584 327723420 150206139 703977292 878023948 924112602 287838620 664302730 848404065 874253927 643933051 900969749 233964331 472446477 958319005 639229353 648095012 480610105 603802341 966665412 582839421 889645965 556906444 222519043 448813726 519504897 326587810 386024631 121458368 388482401 227246998 293654609 702320823 989288970 560938060 325171718 350783634 925941741 370292008 488051449 395813680 142061675 106495611 632492551 968921272 646391990 112750041 494514743 706277662 497174773 221399999 689481005 432961691 232697035 380827638 493108543 912592979 809011950 169600941 502324425 408822058 416197018 366273635 297052837 331369709 334218120 416452241 110067284 409844759 520533922 536603486 800058049 668991141 324255562 946696522 320922965 765325033 871269623 339066111 284049143 149568280 449823226 366393031 485246252 393842681 307592788 115572592 348255610 552883809 442151359 547074269 177201027 126301607 892606493 510024361 896335140 360665988 610943735 927741433 254278170 277003014 973817484 710595330 812071333 504991912 707202641 730528354 933148072 247002721 384782503 168903879 916765898 984675949 415944481 289243794 481747413 921414187 775542650 174173790 518385441 496479733 864195026 392697223 541348818 212234267 647021456 239822432 255576644 172512495 528668893 575057952 138378296 485101365 273088026 913049728 922272139 901824188 505513967 756211233 661468263 721302827 889246436 605898747 271793873 723209099 421643046 721920784 303601161 396734790 605907068 408493486 387124995 355156134 832756590 268217744 813532179 958179909 518345392 313038646 751390462 945424272 355381773 730946999 557970076 328296227 142409649 934200595 533357921 891386020 211681272 146700571 769959321 966611295 967110719 459137639 423146785 513545326 887061759 540679082 615255492 253815128 584677423 786511041 285439326 565392015 275228047 297149647 999487232 985281343 733755211 502137948 592347132 413275000 400099068 126647509 867900615 556290516 297049844 267418150 644413623 265304233 467898206 569134751 419752998 144080473 504740535 355053946 644882984 633839110 794841865 645992692 770700255 142187514 384946985 594998266 342904114 980572070 811489210 411873747 278433369 699121675 570301996 441566166 259824984 634633804 330185979 148759367 139395363 620670193 211208669 337886257 821701028 100199491 317975199 904557003 731322948 869221336 560642545 180219498 601292055 109142901 398216044 649772304 368811670 490032227 749024726 294298240 106279302 327385954 655535634 279181158 936001401 125374067 585165852 401199849 727402156 911300619 706027062 688168452 309755921 191645826 642185332 808269450 778562856 785902895 908253900 296356780 718628163 282545022 596657665 506059438 712895997 972217746 627075127 850991148 538740717 613244068 922053295 415241712 890055399 165079593 416854681 303559948 453222256 158423818 290353926 839091433 787013092 739790349 445641447 539845195 357723165 831930364 817135134 516828941 836119269 879714744 289122881 229707652 182420880 308811465 266666893 365670595 702821348 676824214 226706274 171749949 225104503 855296463 852773763 464701897 437190144 717417138 803632851 620640822 467273700 971505187 148552017 148552980 957072587 540283053 832089801 714961282 357005202 562704718 707635196 798914016 374455611 342785191 281429359 504069163 855281167 448904828 448986655 613837387 206238007 737199632 664585923 515903300 738495087 239324212 294569671 836783281 158863156 123069408 299694521 753887346 744168355 255984284 248548833 435715491 650517969 839606408 317347640 518556519 677252932 852943065 282692345 374302059 391417553 606439276 188886039 721110744 298754974 447667643 900948725 467096698 126824210 905671166 886970606 940702973 373244788 737080773 432597869 318825305 540157584 863646216 641343182 412724942 232189507 407812257 972371249 830557952 332910835 847758461 786696111 288021638 200358192 253280814 144150233 290821632 465011949 102699142 735012807 858792964 369722113 543513739 455240891 707845605 971341463 166389771 862919715 436380848 739284075 778381656 582078048 627405318 972825814 451314617 887742941 583357010 292316616 742093527 929343825 218346542 955976506 387808489 748977069 796000765 928839714 674448769 405309660 211243611 317262114 703067846 171990779 943367597 477998879 813753853 668727937 761259236 300340573 382020799 805208463 116820003 820240596 472766481 312768556 603074284 360621717 504126459 907797743 810593233 327223811 220150038 967692715 591751088 908394849 730256726 246727135 786496539 304796281 390119120 587177092 331391315 910734581 368456170 888233462 633973174 403482000 326586243 551266741 682399008 417370152 751700600 776744004 369667620 219668969 297985816 756495626 642053258 356650189 801439539 240118058 888693130 127629244 449018818 139250339 943125653 186470070 468578999 401864633 600281106 177205307 214613366 936620416 401856343 829770699 905442249 611005529 402322789 268499989 557705953 515352994 375670347 181699162 662033602 357221667 308601133 109810628 333729494 125870240 929052064 373804153 266655534 495724460 564849727 298539077 745746020 900644467 524412223 531025964 994673848 720441523 683460005 694986210 508403339 284633985 349240054 975910315 620028531 581796886 313092668 464995078 615929318 729373605 669587321 371912983 728847724 797213139 378872993 327424459 486921807 779178012 492549920 570162992 308646106 206845827 531235669 813760892 590664895 103139000 971142080 152332425 268648224 655706671 834216557 488948216 769814181 723783812 720754751 395243483 503371415 756663251 962899410 349759922 675727077 482700940 891285378 319215693 129064193 289129167 711954500 859399631 620766518 738647158 918586356 756675046 254889975 634206743 968022324 492169987 521259351 820189160 450372700 954180777 676411967 235366297 256365355 295498889 999437975 267675165 942218649 243188998 646379624 873812995 347868622 494504885 160586367 761453757 822635038 985774852 584016681 251853401 818637466 654886915 621927740 424039057 427097882 296927926 119265127 819755338 830365750 150221943 969518064 858238830 425776528 583247584 661856850 965357804 700615050 397127706 638333660 260495379 710428615 880447299 739438889 278008201 315432097 986100018 436385230 918274743 196088038 311542523 872714808 609115490 342852323 726735875 559798631 705319463 781679775 847028125 128950623 649759373 904622573 149225220 673174360 159461599 817544656 187295879 130948003 747771042 251072615 892611518 799489891 920657092 365427537 157560429 899730768 966019815 784601220 864675567 555219161 166642895 424048082 933687453 189927673 931862396 690923963 994271331 888983295 848692159 262514056 759578307 984907901 320254530 262762018 284607210 784066634 270672420 153203188 743582421 211067353 776136114 173539687 560383475 159904849 204597780 555335837 956231385 840034849 551362438 864436536 916453566 676693688 486705752 527667750 471022731 675748057 936036099 203941286 290588983 792641626 586745985 891256838 841409562 841110522 642502507 655811593 419668104 936738874 483298461 597625444 676348349 112088850 813432369 486092980 843432359 110278583 934875985 152909637 429692758 209943129 517913534 235916230 467280195 333882601 212280863 300345146 757433032 960102336 310196181 855192778 799473442 941156731 873728186 664807697 878138427 504461425 455635042 839175939 145376920 247838728 536416658 990274729 665921335 153901647 696992730 294937525 972437260 292459251 691135236 685770061 820719278 320847748 196614998 856133292 581692638 670821722 167233678 114012295 417339929 790413329 986133142 419504195 103781247 444442121 964653782 268552209 904242744 561417391 830210651 304065988 178824354 121947849 232664091 774867128 512226856 961611220 622371128 658053020 971900813 953342446 802145590 765781334 141576516 367850251 651666302 967228889 663762344 132527615 145168115 446953932 366555195 788830668 449114656 963263748 881271504 896237245 951927990 663212933 540438621 165086355 138219298 724572671 956391037 561871097 707149643 200936428 146268024 863592521 456832343 547834624 136786943 904825960 741450868 105384509 795164774 280639094 883215326 316890225 550026110 526174997 814782472 897129454 886643051 280342518 890646255 645158603 357295373 160917407 546456439 660584786 504466849 531583568 826792286 690199135 661670398 392220031 744190099 825578855 912664624 414232333 363032215 378961966 818173865 187048291 136786510 298827190 959551607 729574562 974392907 101409807 691678409 177743220 867362890 679723406 123395780 899229980 514787939 455845542 912970321 660051823 609961118 164543269 329065262 732610508 214949855 982404476 814707289 358533636 320232537 142936047 467514723 619523654 931535256 414155622 327333556 740687022 686306539 823049725 772307360 392390622 362981693 579948033 309895822 976893001 524516953 199380034 977496667 516353079 958440410 565938064 365410835 842114557 792652951 562326861 894088545 890985315 717710221 439333058 245664111 615183962 966333700 819688860 641152274 377561189 761954998 738964510 120281696 194257792 200575350 575100448 293382334 664209486 719472662 808729600 980407055 934438626 694530011 184983584 649914007 353392399 988322508 217251322 880209151 964458760 754002415 986501799 838245328 395730221 510263240 501713099 369787039 108949822 899016112 227572196 631801737 103032680 782552178 830193069 881654252 367434663 264914782 267961740 578174340 687013657 457892587 354857202 791095561 496579532 899503372 133176501 723601686 677184302 607262375 354865373 779107702 670338516 706547902 860878039 673841680 543722090 489686090 634569805 591617806 866994504 263442347 509137124 908247955 826627003 337987191 754848625 546110383 934288617 196843427 950965779 938028183 303851795 201040617 478601463 659520327 127984959 754595986 150550121 324817051 444984530 816771664 518397543 466474905 810795344 880857644 560894648 894211724 511763661 215056462 684768764 286572018 981919359 651451214 396370135 633659593 259437752 189236327 839294801 929881096 585520513 782910765 292002370 482380732 757288795 807616428 654203559 209546264 443778670 297063991 682790976 840499340 260021664 649603308 319055282 444764838 308582765 598431262 187453819 162848691 754419608 758376584 798045776 660205970 510632655 730736954 708929710 334232612 879174591 735370628 952651865 706805714 422344746 598529824 967711024 752096014 584699042 898298198 932383720 572564308 779903163 199628297 222745593 988827240 283433124 961042084 635492353 864954008 210975295 890918422 126580031 286809146 446994597 238451147 212228089 989461228 404769611 828859029 608820263 617155278 627517594 839838225 448508401 796487509 925334297 853674174 650372083 378609759 638848176 437925783 333602630 929197626 679361129 634393689 310573108 644007715 619665475 782418938 714922157 771094217 461480239 643550360 932116927 427876220 560583488 654712359 502559138 605991919 604079644 206513144 309143013 890404441 320012238 491024967 280042441 677138519 196675243 897263065 780999826 260003348 972672041 806523671 400155106 412145731 460201971 223069381 590934585 724686209 369120987 791821828 911236442 933749846 818143951 440724643 631506572 935253280 924354499 603344714 459794211 845895348 472328004 809066588 707813373 691224858 909674695 866143412 725110484 827238253 816668220 210530477 889605829 342934214 993984336 245806298 502950233 225759007 382458157 900062413 710490613 340767659 894153350 916457236 229134817 642921580 771006900 761387803 927137271 136246930 938206058 978912940 553377830 715241500 560414707 827009316 444360713 796586288 764689708 274317627 286996725 509285317 135583771 724928999 924477583 140595475 210720134 231825029 426932646 816685718 524994595 487512334 614249227 181100470 424418993 130902227 721156070 261265128 795289493 397455696 971854514 764654202 644012310 454432087 374238406 814612686 300811951 727286401 872427524 699711709 965011285 564663505 586551320 412658676 295661083 221734138 740244754 625914318 315490390 333018785 561284642 491966631 367193715 376658702 527516484 444750513 207048445 645470921 684135613 804294511 535519539 965119991 336182898 213462080 764169753 873656293 866189971 797222653 792016436 885553721 685547194 755835432 436999762 974855165 739355455 236166724 857089239 387554852 626054738 760303277 987809262 118538875 637829568 181096514 948329035 410940344 789474197 547712862 434406685 833559723 125591654 712905879 316455550 995350471 785837929 166366036 248881756 987433880 881923597 678008703 873582175 258875133 432659370 591682091 502350437 752302534 283437964 768515192 390912752 394533251 102501778 382651632 624391891 813644607 703480788 221167986 967524338 870117359 666152489 629748484 824909639 247555022 384243133 672739415 661716932 321141038 945018291 579463260 701885264 371509061 788419863 548734617 436185256 992088397 662915499 150022196 931381562 639947574 558818101 703430151 439138731 881844401 166103198 410535466 809561464 723852470 341169260 213550902 186520266 228179408 136335465 992117955 682183343 336839248 934002522 140206213 641937096 151012538 299906921 166750571 958757288 173768188 163650839 683529961 468317135 990851741 429926206 413523015 873312045 292858038 399544290 680967316 487062679 211458716 242037218 168367663 812219383 318249811 478347183 472604691 335392438 385893451 721910084 527303501 254547050 801305208 680433289 363806397 780950554 143438826 744110645 391057344 576963758 197915559 751216571 702840204 204377493 360960554 399337035 278397315 871942802 172465096 169045586 371613079 230409209 487625235 395668412 164547489 742356755 400562413 835079978 883837638 895636095 257805215 825024134 475294156 516680913 236903368 228688020 495407285 941175839 267152824 276779130 397215489 182767212 133243855 131057790 256180156 909727846 787252394 742661005 605695977 536268177 596529323 256476909 126932987 302291423 142902333 500034249 873490486 822788970 543620979 941789620 844931484 710468038 883453540 347543959 989362494 375229189 689882429 683895520 293708858 731005153 352742100 128639923 423572097 562855028 992289337 890393090 787563996 215964467 928632868 953340372 359378377 666250156 274088885 242616150 542716221 309329639 320788013 417900537 285713146 639055085 964735192 480035719 694053861 388491004 553907282 201846340 291623545 444609490 571790954 685726699 945237944 316077075 336277409 557362891 131229779 599979142 391655600 954896199 608542685 208349682 757544698 758431833 749817778 411784971 110435926 280385046 562328843 844238877 441969184 230089354 625441178 520491581 325557974 879679133 211302830 953531039 867170974 956642319 507789558 769714970 929165466 712234999 298835662 765447972 606601800 918262890 507871582 196781384 823794674 123578466 741224964 745537771 391425122 280788395 837745813 556214793 917250608 820412560 880568839 296434646 994362347 774895146 134820068 264519323 150198396 993035265 888528169 852132016 295432292 728364475 797493310 918024254 934471604 181947837 580039511 117220925 915309583 490209862 389590931 178060968 300323617 626332243 864150386 499334196 482474613 752269098 471998935 386562317 816851259 495009073 576112547 733598454 271400185 469101751 912479905 730160411 182823416 963321329 356765173 686016699 626095818 408062475 832103681 647947401 896979105 437504135 986789039 492420556 503078874 478905440 912388608 448348886 584547520 544441467 104157489 982208742 715087878 141096190 217800721 787080437 615098613 898462816 596341939 731588699 999723522 436884186 565172007 308068406 636316437 338345088 527339598 408690117 533713817 861653215 363409279 549882524 593937199 444614410 863196858 266103547 123546136 290088271 975888382 624820545 923984454 872054693 576398401 775409922 453360055 989025841 371722460 194416134 827678145 501559718 863801774 503400900 328997553 534279000 295557770 653104305 630573940 872324345 223131612 413709315 304719316 422690466 447177281 121074352 329121648 948256571 962580899 823872823 240645029 662280643 229713550 505661813 348762576 504498573 972376861 309936563 725697780 577487080 765904978 466346013 800775864 492721234 718487016 756520334 550641460 122753685 912757902 920717186 502382269 209307362 767075454 849139371 363613614 658965447 170749662 156693164 932289370 466154411 798826386 203894879 610218426 940720041 382945838 912697671 154921063 905509827 332159919 738466692 476631856 962474321 285297422 616737298 326846342 246880408 562183986 646319563 467962693 289370559 338370734 837925124 387528745 450866469 209493743 197659083 397349951 211718551 950989606 732480578 497467713 408918717 767953871 242622324 469193204 907450745 897436005 390403401 533829187 841391485 262961627 526843420 842465974 611593118 336677558 786284210 435441650 880515279 331402910 955542764 989650985 719530455 708480577 750864325 712027517 351584747 202225248 895700308 684974345 535928674 757293914 896931551 935213341 385968860 868037770 550837605 838902495 209888953 791880637 632232561 564350108 160588470 283114699 439101113 441871150 361361713 672824616 754960456 971749583 488327834 180500848 445325573 878579243 301312234 492872796 208966797 695985522 231317771 632194466 874395031 463096653 939497509 395921184 984585315 938819576 413230803 774277457 588468730 867763534 579269573 795974152 335813689 495064219 293717945 554172931 227471378 390693043 923334304 285600069 354219828 660357685 718857142 377499592 369182141 580975407 772227220 484599063 291974398 706046571 591160548 154075155 287577568 288105338 374691685 790364881 142333266 198869139 119884422 571358906 739906768 383823924 399123608 208742320 243650168 370082506 849068746 735397186 605342962 445628009 794107367 588234792 344569132 195758255 371999708 589863622 549260582 431785710 244892096 936291410 797624681 125508249 516846386 471908816 710568616 542725937 661879545 497878603 595037847 235038262 137033743 898257472 351591758 602138481 619517966 204645371 653748791 934532074 370369206 840671948 568289709 955883386 572234576 180491777 758790765 587084608 110677288 502449688 448444335 276158791 967302072 510568878 841123711 295220681 614118436 439194285 280144218 780383175 910765262 527455802 564806866 671490824 878464991 673987433 317745027 592485670 445636251 468227873 768007356 399151277 276101073 310367624 706987368 984721868 525693260 416680895 932220412 682841457 417269851 947476077 650437771 996464318 867908392 882602510 814537029 818106669 350434013 154124443 419685920 272469995 862731923 937704120 532028567 138414145 433623305 437022662 262146408 892880228 485346174 482845522 593603541 516305233 397862729 382252166 908415483 501832349 537793019 903672887 590160941 298065877 644818826 308477138 214114402 475618164 118646010 816134432 806420727 286164884 476817395 574701880 248504597 692245119 240792010 694781997 217416143 167616027 113868060 212133566 163501486 571530660 638229236 954047043 315819807 874050968 927847166 595927298 469223087 252169530 222314243 479428432 773476790 398446621 167224804 137928937 601651379 836167301 410556757 419922749 924780894 250487286 128853585 709014945 833401333 710949252 375629791 700119864 435255575 803300237 116733229 261774529 779005018 796160552 680655288 795923299 431529885 818273027 721150520 845887502 123995506 702958325 773723203 425384036 402423706 803047770 217730339 263481976 951805983 181106451 712986861 665224848 561272839 255950047 722175012 461752226 741761094 426270793 592360153 228952148 669691201 669046680 599347101 250642662 956089946 196692297 492518354 723943539 326330155 628895990 431982071 225868515 431931978 433113186 236190463 937570706 902969367 762569614 312706920 334303198 303843135 953919543 481030380 252280279 882761726 247008307 181373347 448439591 111665064 345642112 569943224 668929610 391120578 665390121 576818529 949770020 421964414 438498049 301124307 618419149 554146237 475769134 410590670 732305456 593467643 464318671 228193544 617666440 829535726 338111318 783148842 698969191 516555159 683603350 362676139 219308034 109893687 934861551 792846857 526130301 148898285 217082935 417428899 170994956 523939166 731318761 697136558 696399039 243831141 646678518 610681206 791727474 686446307 235168053 890250712 852495808 390032772 512842119 697163436 237180844 478976026 453819369 877979941 270835955 268128818 460255957 766016918 728017199 871803481 152472381 974422777 198302866 915191969 195397649 437677931 360553440 669170450 214411212 144661435 381075269 452827671 112686142 485345571 589382208 306219581 187188178 503116849 796352433 611565903 918712854 215093567 580835556 134174210 858972724 983481199 260987133 209667800 312674346 895911025 509734546 179625462 457409751 196007561 966507724 880663000 207144579 993890447 989451544 605161390 936165233 182450305 534964550 597311676 409641543 339554122 202623652 333129160 423284044 240145052 198085292 804759090 282786138 597508470 999857712 792016998 817439603 596750624 507127633 435212904 963739961 574550446 847085040 554136342 111305045 684887116 613133407 421395429 557167023 486523797 519229516 723731289 161785303 900693197 790679131 905582978 325322794 256747910 877653170 882987781 559963491 455679354 937539646 721904431 658315736 717624187 882524775 551561437 278348165 344781456 376685002 758149879 334427015 146024800 387545492 393407720 433471288 701808898 678288826 447442668 394665598 791903018 729385071 132069790 664308795 912541777 844359241 427900876 305821395 482359072 568457675 202249841 680075996 870012263 308926995 793576632 593078003 113350161 957435684 424154339 782919617 520315406 101561484 150584460 982465930 976354385 559250964 174459574 617489551 796259836 590241497 758146461 791112410 518182125 445892866 769857982 665300368 660282823 321881325 189168187 363295939 533295277 647246648 805355474 247233109 788343394 721583563 169315476 318988223 749121708 399356701 142179560 701866144 706679795 332765044 558531988 233892857 113441363 838805150 213601899 926015046 444564951 241850931 807745723 717913344 215337701 760736179 531369292 748301646 122058120 110393960 249500014 200223484 663385252 772823643 561173673 871534095 963704964 164871085 931395779 520590806 709705139 229738048 507537743 472016013 297816442 576685947 672314415 163598804 685999742 522895463 355645089 376718383 704062216 704805677 992892614 165786464 849681646 809650410 329087519 541688650 233485458 320219607 787929760 784678780 615502579 299022453 272985720 366625716 127287883 309284688 651810544 269243766 503494453 748925853 203846919 879831607 690544868 437761000 859126237 203195521 902188841 858496781 774575304 772293202 780948528 276586679 887616237 424801989 625122730 552119314 819637889 968552989 314159958 136970264 870765125 493890745 749404578 506647098 992469540 267378985 748612735 703927620 602909569 936598526 266830779 523958341 334130598 254319540 975497986 140755086 529601364 740592386 736576489 647060465 599196376 822928434 985280300 681462939 309882150 730825586 259957545 868523115 944996049 823046680 584691261 968279032 262359026 228303464 464762920 599564378 977551436 740030555 909947687 673412137 246956537 812062247 454855964 961765689 334121438 597744426 242205251 840474629 895991479 485599773 864450347 913876709 301362075 199900079 727158952 222559635 947693201 527006910 197340405 257511048 167658824 556218543 542329378 854451532 647821815 488083437 609697399 729610305 458341559 642121983 567404688 986518399 159587554 854682574 516738824 530715276 922392432 394086014 758760376 640218971 160765098 563270674 449507343 299820455 938340152 392546214 384828771 946799097 602763693 389266340 623161684 899123074 932432940 227222904 662554354 684651827 558064591 251125887 916526985 357803095 929111533 331438568 156279870 207074741 336744564 830391403 465671671 748183430 860955809 222653982 822647740 795258579 964747956 958647000 533973680 638124138 889093506 874301856 214059182 465525489 582494324 654832739 234954006 443200068 154310538 744211012 830133975 545060992 256456738 658901197 352566116 685861701 494027028 605845213 331193178 889780962 542194359 724731017 474953631 150149576 521595418 242207251 351678088 551067857 444700076 794931008 395748614 940265168 176064499 880531038 144205285 137719890 173116369 552413508 278099547 357756813 636066597 768145023 205035575 747506129 456558342 619974156 871799611 384091197 554541573 577722532 835473578 409234250 197085675 181999214 265086143 667123173 203548928 289021762 332060427 613852579 758570814 654969426 167518163 670460478 731724436 865321992 978627776 358051042 994059979 844627912 743729920 200015871 193741092 263128092 314325143 363247049 804471245 796676128 735033808 294184963 560888069 707567448 162532591 672574111 291690863 392839334 228151174 336377211 297462532 779561235 618676899 966274183 557447819 477277527 126095983 907116701 149827894 831647151 142283132 504789400 811808917 530735393 333649827 759675797 438181726 405977300 550653063 714474972 119079979 845055812 848751544 483099342 588680948 691626065 137315773 464709486 476963830 712051994 516808080 289143131 680941460 956693328 865302038 529114347 163516841 708545218 909635722 703329658 124420976 291190196 189177092 446885657 219881298 293275888 469504926 569901920 854782820 339208770 889765658 328956267 532140313 295316143 479504355 589670292 531395597 545893412 552063806 605531822 872828395 333742007 589628372 645368509 756238070 784573174 462484293 665731307 502475266 881431646 950686880 750712214 711887299 184889534 327446322 741108817 589016360 144989448 504901213 268447194 830771315 955895944 206744083 921815145 504082862 407312082 222237473 656356369 944496068 659620425 191955288 121552918 590281882 695611395 437699231 455966993 666659435 853772149 819294925 786740618 342333310 737179811 682615509 889117791 592564246 821808776 792685999 739474115 701134578 621199827 802475283 909746046 646213638 842140382 567626091 694845030 574992781 515309647 278527850 506123687 883657769 223504998 771693562 971674561 145165079 655630824 222171046 340592183 165277407 629243007 742718386 403318660 852570498 887209974 700578146 544855787 638547900 955865745 190507290 992616357 260365835 863963915 291380145 586122955 326437815 183263444 844442365 222498234 434670110 326499898 382369287 350505250 902675584 115772902 918410647 380842893 226762765 114185259 107096192 261286373 738746605 985716960 170554028 167561256 505751667 350804967 583013194 992366197 909335708 827457469 235739039 794824486 452522492 451263677 160556679 414750194 521073562 686118819 441717846 101596482 470854945 322741783 919497858 849109606 321632908 893139026 156025627 394911232 800305692 463957846 342719842 418413370 700352282 893652291 140292171 503655487 988213094 140719452 959226957 308735708 140687454 961844548 946138062 973043032 947264685 902434120 700395097 126282470 930485127 330229173 881661220 188473390 145523049 531534895 547318605 542816280 718574499 762139567 864088111 970479964 899631592 623388162 407181601 102175549 414277215 849948130 505814624 599014289 140837097 528827915 674699505 529513894 852611540 832109542 136645848 576097987 197108833 372153692 394426992 600562361 642172025 525776546 848518877 804493685 362138794 112314788 949908817 543131283 492992200 954268917 674103384 673573835 864189888 381451331 270878050 609503237 229736972 790259163 779106353 634345207 642196941 212706154 955916187 312191661 184346060 157191932 237913003 286206772 606265349 930259822 373008457 989857178 270021820 626755515 429573091 707321573 572496426 229703929 520338074 984410319 942803935 782141663 178076220 123738581 199128761 690405715 430753977 138211115 679634354 445321847 140720736 972407306 558670623 939393597 780356809 871437712 662809644 584573088 574632104 490728306 221061609 365777304 968580609 623542422 494541011 228875858 498654589 835598567 356792938 300271576 940108840 493809679 572829037 486711413 648797027 162073075 972764428 487409331 832025572 396100384 783295859 358651230 889278466 350850111 829487130 595658421 490174332 694528097 378293096 826671532 326324652 522766156 979474563 536941845 451500062 965365053 618031659 331562914 179549749 561184082 254529814 967364123 728902573 582668067 605793645 390777777 180959581 606217091 611547766 106949491 704849343 200973597 861426808 436309922 191091392 871419413 535069708 664333812 148188987 188227487 752937669 347457543 818493869 698792714 582149105 543452810 561715306 160865785 150942377 211422929 495109934 267582325 343760176 645110460 156594250 589293092 175735337 842275546 535507656 498602021 949484699 818383071 472050248 547474300 962908284 219659948 215289544 873768438 623967805 813757363 193829502 186054672 556284109 606159340 672143674 506924406 703525741 959397791 776694784 495368597 845711574 311784643 687221050 853335708 151133460 508422502 863528463 357622647 966172922 306940273 476446282 414520250 275430757 603863413 641599305 375703063 707193993 859469535 807882282 467303005 649380069 793265928 393368268 729666554 978434237 648560979 161182414 760092889 105919776 843488832 444305832 294107794 706003786 840978783 499562442 855019875 362065051 195491701 933752165 805901188 108893182 513975143 819871683 134436341 134041108 361754709 628713610 699652176 125102268 446501928 690830623 358872601 646108604 555208964 525233092 921866915 572764385 510796267 342636737 278838660 280495833 193365012 286420610 535649370 974809648 273846424 734905761 713828766 556393390 759806088 315739666 722816914 548486770 773054371 144416434 417930518 119983519 270286504 147131390 482855242 200863523 275906171 168682340 245833759 813578905 277984607 727587346 853733686 828638089 508645820 636464345 791400650 940767314 437554578 562340694 288072761 503769968 767117463 754075055 233449207 914719460 641624811 191695740 356757779 786878217 660700629 881366793 828337791 525008480 814130766 827005042 116045895 145009872 825854816 315201184 949222734 933504675 785298500 171198609 735496031 719977961 823954646 788341803 334362470 498495098 135520789 917070643 638316059 794734127 479525284 378988896 424137456 572992173 906099613 724269879 109947821 330386018 197852503 509184005 553986665 796107490 174843949 299142622 315593254 145384934 769229923 814127875 911025870 538159038 315319972 604363801 748897214 846579564 672595817 433652936 432539116 704060784 486723024 553605451 345734077 102833213 705359842 545877212 469556136 762973750 512371684 108006759 759900275 116499496 907802910 527797274 489400621 113605153 468335214 461748072 262899817 284978425 207692634 836569630 963406958 298247364 640766590 116815467 729224494 253966937 643592824 619466582 332618613 684005073 131765704 648630178 197432839 831918322 685719474 120389673 133244144 571131578 314086491 813782313 201225959 781795957 370603857 960812813 270155053 430289699 938340343 965488440 707797567 346439035 536450780 394481603 226803330 132587850 848475160 758657640 560311348 385597614 831782221 442635211 732649568 509319067 500617996 619048462 773893912 400780712 508314915 915511511 121523944 971693201 207256732 720849585 600835458 510050932 123644217 650386521 659837690 848025176 142360318 389473789 850585221 289198453 514006298 587034432 911250831 324279236 177338915 278382357 917408766 665111500 880111965 934166034 902064589 135637684 718069208 253883336 807340746 163825706 798562850 508950092 370666354 649483493 995376655 937591159 914511906 715325532 920638304 715241738 199277418 450225242 938201168 453865654 450152267 400104346 369185361 569642694 209097797 814180187 947479378 249870083 957504161 419065871 107199288 681772606 798070562 233646964 218997728 844473719 961358074 359817038 113209520 948330295 598906709 157040124 998225897 925500452 204129681 709758631 252406533 523410234 747761447 942033855 572190734 843152176 626074997 339145578 660371491 718561934 335488634 136382129 451309771 745330415 311893007 498719690 988787642 701525491 468196265 463680723 364994904 840713052 453203566 367430314 154631597 826695398 953275915 763816836 849180907 510971788 853500972 195616566 230301321 739081472 399690186 558838057 611461794 948226572 876079720 399801204 981432619 210331932 239629242 155879942 437717279 511903358 602387538 317140497 597370836 454545429 661201041 626707584 747290369 918852426 102782082 490850337 531985349 346238227 976786793 126817637 241525941 325582379 685145568 875347846 286408013 207687215 451406845 629234536 471327428 680323100 924680356 217159042 738707345 213538133 523615229 844378518 770175695 891096968 485839476 386059418 324637884 196522320 685153754 851747570 653775069 271488288 565848468 470756424 678539363 176326238 219587286 722800604 335103668 144570463 694788358 494785657 934085425 200849428 982174467 510329974 180514911 448773368 997580847 912340819 724080730 493069054 814161903 423023597 915234147 958203444 649868501 667726785 273901414 986343820 634165826 361131532 254827614 415277834 348855912 348541713 683353701 230429424 280534368 513053636 510036555 781850342 937483992 363994232 955823167 220016326 155508241 905341161 890311607 412925782 635433179 814615802 293073616 689057771 176749170 961792482 870361442 366927744 196820928 427690991 974755279 788319097 404207676 348301216 180851615 342943239 691005932 189364747 977690136 969135006 435823053 835685985 589201830 515670586 527988471 573029614 754819837 497695288 997021204 221780703 677782330 916885671 313983073 671700046 300688606 155265236 905957849 839700683 352030522 479464493 641499023 600549680 226278946 958675742 617186728 670510432 900691638 306549738 550003551 201423800 692581081 438293570 937920954 350677445 307876727 958016638 187824701 750015837 176589404 541699981 675276305 977412328 792521891 484074080 965992059 401716885 662921361 905447823 183052199 271733857 588738115 901510078 450928369 479958417 244645885 719865465 230905413 786390874 346842603 582706624 822090750 750799779 363092468 329771241 810071403 549169368 583508675 884575488 426149996 822926305 719828837 333728245 470669753 987906605 928473650 921322763 518382649 673272489 844036729 247910484 631813516 862020894 411367383 513819449 561868610 382480511 599715852 552919443 295713118 522664028 883074098 919413812 363102671 366458148 529330330 394781671 261151853 243880289 748130722 914553097 161308675 571901027 611106091 208111944 628365039 990648896 308665533 937493445 336668944 225596079 373611399 827567834 607898309 144384083 693502798 960721283 137580316 531737261 269255375 412841403 825305586 625225729 223404498 234213600 546107717 543823858 830566193 772917437 987487909 308243791 577044342 233328175 747442849 828257810 235553802 672803879 816384615 979590821 611285320 741714379 653238934 156025891 323295710 937611950 936442405 521140309 984432151 574740716 212876945 590482130 237546567 894973706 578989294 810787370 280697516 359834683 785118773 427274746 806692554 225585429 885433526 179267235 148776082 239695666 746820991 556279512 331239218 985472614 388160446 571420211 203263844 659344590 977182887 307198614 492834331 359672090 107654405 607159396 501789359 665840736 631963431 443603293 780629586 847635915 116933840 871840353 291871593 241617676 203624452 690132318 845053053 414639107 922163068 652001989 516776553 429738753 937420949 596317057 979623647 702030616 249211215 653133020 926814849 186395950 480412627 619611162 279140337 514264275 206632560 546955081 980857163 392963319 840307050 403454889 955949091 491671970 404944841 130575498 321928296 752513983 618764885 510919877 792689588 238568403 587410113 937135210 349218808 994471490 655788511 512173449 609593543 463897566 794080429 682329171 161689911 707775612 983429443 747149641 568451663 891988650 851597582 631202130 294274833 580013752 834497656 960285625 141099772 438094037 827076958 702061298 850003109 754456633 447469601 323883288 697036719 901039127 727029694 815924633 740609609 929700080 348911211 880326891 634416899 768283350 499379729 350708322 369877236 939364478 715077261 473973264 659285079 666372417 229567946 523543329 680483801 345937536 682458063 924378376 404921368 377361369 562865578 389572677 105967766 824250297 665397720 206893923 644534883 208677930 573780549 213614723 505844531 706124278 290189843 471341205 265113510 772128888 833984067 818392113 917146021 541576323 296409199 869578754 942625865 612346761 835318945 846084623 126205555 885026868 343834259 396304860 545418458 892817172 295732847 762894821 937453280 609083685 542967315 183920516 946591747 122235396 551516831 627306553 913574079 853209399 797707326 788412463 652793473 979388608 413293234 253082113 567346100 484698451 124024894 261116111 739952479 638771729 543112674 935295289 373930709 429571471 140183478 505135591 139522091 940628278 686289714 482368282 580578155 286922290 749240578 300112184 322863055 961305075 226827430 283073270 853471233 105703565 735030030 356090303 216399345 634179629 825350901 320567591 649318753 506265294 147002979 154703962 293142250 805810076 787919601 608098477 843555505 794110391 727692354 718229987 865562060 393867162 838102608 954684286 342518448 435639021 678237165 535915087 804590302 526393378 531080322 751386880 440127547 106061166 892246831 604567834 159055378 702582632 721160826 406407650 295764487 665131091 885916274 727948214 651720071 106299340 703022663 678989614 472444809 952831558 806146758 113195388 244066167 685221805 591952044 501497990 684956423 999542708 845508462 644171974 866728770 996704554 992657291 468655347 374561754 866883953 286842495 994457641 788875608 492578601 451220710 943668809 545831701 415521014 630244489 404339008 776282820 602807637 318714643 811854542 809150565 605478933 675726103 843862689 315287529 594093883 240446487 873759556 621022492 205803971 802384666 421599488 523974294 614227101 567960629 749894864 747290132 427978054 346216637 561923080 867033860 657559922 779898893 575317699 174645286 618087649 170209355 534878238 278929149 466465860 474289835 342846862 960086886 441233348 919285114 664196455 288167897 342434876 203253189 809912592 749143031 932186288 357784645 772253812 382196418 147016017 833314134 906337304 150611095 410631022 532240742 376028225 341391780 651468656 238268878 149761551 945119310 251568771 579914933 169444634 344060230 925990262 484167477 969812724 501799945 858499542 280803490 650832910 718968026 926412399 541362654 104382464 501135124 579280545 586604596 266188043 627154255 638355029 101221075 717114595 182501283 439090485 491580022 354399141 100804109 204865898 845796944 602645482 118557335 316056604 433536216 523251108 694421976 826296083 258845771 607365263 136982263 999693807 913918618 365771827 485089771 458366404 237324749 746469633 339999695 856787550 379445957 926601480 179382959 985585849 305331128 352625112 444528259 916075091 517857089 277934478 633882820 441288282 364002382 414409505 423841428 549338897 240886881 185439642 262681759 246498159 538451385 264243128 737764571 633801228 401185278 821177035 193553302 859316923 724261897 526444597 949103651 163916641 540212415 865190186 187592895 549358146 132145870 395442069 717407079 376450262 334170908 923144264 799603073 623847318 263888383 382746641 920360417 497594252 502389664 931281904 430306251 798858281 290009822 312379983 602079488 619502843 964902233 933482787 557097397 969521449 935083208 281752142 732350689 851330385 974520100 655023877 849430220 900638530 201778722 497805806 255504300 579838120 937784664 526882805 318264461 617329171 905492062 398389397 654855278 983684307 284080045 508265621 503067776 385146103 656541941 228208336 106669418 229573937 610809236 791747079 800378461 223983193 670656278 600828093 765657312 280487127 713283859 392584557 380438736 960982496 359326726 549029121 151503406 683975183 502049310 322894469 724997993 504148856 396075631 206399396 960302606 425897952 825757727 762667087 247544460 582766578 883427516 901264486 240564871 682612402 244395221 961358877 796912217 490450213 575010587 463445115 875091437 889892170 613947388 193905583 244159657 303046475 743985673 105869788 282815294 436596053 616784966 726328022 197957141 245723773 477463667 545799680 288422170 263604165 738820806 988030890 597271745 198089004 399976198 546022331 954262200 506595624 489359716 364735037 282206796 282153469 340639620 955420626 480283841 840544757 374730317 667501448 778830950 543941386 873864640 891711532 191037052 374026719 406128319 757185127 730852596 262373229 318260685 102001474 779090368 705089416 917925432 900966437 431881879 959087070 426862796 136487584 830332250 726794373 369041462 964170471 360535604 867189097 913273774 765946401 235614309 486019396 773088156 227129497 114290321 698072619 613521739 666095146 609334680 924236727 702663074 474336048 760694423 910516325 824872042 467393055 479606388 335734680 409349958 960157673 819310118 284214916 898408807 993971108 526839155 686313502 164415267 206857205 395185060 319561907 126176169 382093590 984137381 515158332 126079480 761643229 603357874 924373478 886696709 415735415 979885339 633350543 151649137 719547878 274075878 723512366 862016409 719279460 522314350 970159333 574982544 465044945 195283621 297555703 780809340 670530306 974315085 948754553 558290816 271679866 789615032 871960681 847554917 997033475 407730848 483847419 876497950 238037989 503061243 398549780 376043761 829112375 438620725 393935329 409213542 363943340 491101090 959765565 112593863 166575782 293093489 152610929 583570655 237228086 723380294 920483531 518475128 424398859 240834399 629171288 191829621 301791642 705247797 550600473 735061822 992897664 179020660 535998372 503638626 873681958 373067475 768001025 523421080 554160623 378035754 462173119 128726982 328345374 967461883 372559146 291963095 396724907 400771606 356781161 180090766 549793420 106714782 415151521 460046677 847896773 733671713 999109972 824945029 444098856 906573794 648478146 968411296 467228333 445655312 318225660 568719436 438912954 386378190 912896506 471087893 834078817 181532786 697793401 681880100 660381080 592261030 688904687 821006263 465030157 350720023 485469406 954965684 591617864 335931050 346361762 793845135 646412909 885332600 765613795 730425810 203968621 614618438 993165443 229114664 488297198 122564470 110167943 495002350 447920355 491706773 980516755 978339278 599521712 437006297 248294529 474153199 166793079 749378522 694025450 380739926 235714598 786348975 494359665 723849055 542062378 613331479 785418453 351001088 692681148 667178440 266923979 929998349 642728236 384998639 814305571 680394308 830518098 135522811 232929696 203975142 817904255 155195512 311826931 545981092 573010847 426995781 660958246 766618765 988642108 492885786 483839628 962871390 158533238 802614832 899471345 221280000 846167207 394257339 272446743 840556030 901456442 214992562 341867670 856153645 484423432 862115854 753569316 413168911 748694243 573451748 777124455 962898643 320045115 796803522 982053530 285669555 578602391 566330906 160513853 633673704 844509508 834301730 447165485 662393113 199318028 348356886 923067874 127762861 903994565 119758783 941956108 316536474 915988071 858528933 254929573 861942886 507459334 782825033 316327256 594945623 611529448 666530613 870229044 146878269 476646405 976592025 633016708 171173732 517581476 579841313 287840808 579459750 240901358 298701858 580974784 885122862 668917996 286722975 830101183 419607343 723038016 633538008 596749119 478929524 704029103 905990914 837022985 518859135 102888359 363201614 441272151 193396278 521241814 684995336 516172144 948904128 969464889 757899839 415707848 573966059 538971445 281089168 655223870 911420064 325166983 916181294 350887704 386418226 241400635 828905073 654393749 846407413 796297186 674706979 449785518 968298217 456276420 932869385 107430071 637801391 590909944 656467203 938894391 349210545 746249229 286604475 451143201 612452524 265946461 563360348 982664993 848610719 752081160 958664480 958268130 482332074 328477011 330291834 414967164 714394626 540253199 191433571 607963309 128553506 517834159 876555977 215943625 430702404 873894149 635776356 548698808 400705337 860507501 809111412 445656853 844240294 433848993 952290872 418858841 103121129 136796126 993885676 918905592 245845647 538478475 861430254 422990100 587924560 814058581 779090157 571393802 811033181 624109644 419874878 483521262 577350780 474843253 997993609 380572476 881668957 843691508 443037946 358430101 385813875 300320049 772320608 183327427 953118839 837843174 177020705 853015231 488148890 539673966 723465423 918854412 632096808 831963613 436768920 511596971 101500092 244610711 219022401 307495898 235195824 930689402 738338478 450278646 193257545 983687655 623141074 192455797 168834446 378727836 716953722 855895504 495001398 127011193 371296527 722116217 548912461 649447703 183734918 732872543 883613876 967687606 879369077 928067941 736686087 865843658 278697170 241238180 501022138 339878690 421896222 425669507 153739813 563250552 104994799 260696148 828365539 633221489 162127031 856801450 429680086 120654842 523302278 490109358 596896967 932064599 200761158 284576208 460974919 482278385 230508958 335062175 922363250 680383417 762557181 442670807 439148469 414500993 516788867 725462521 256065441 454861093 763087522 988201397 843953116 831873580 226658087 600502187 430658968 908383364 686359720 948685638 686748352 174463195 312267187 775539688 747973321 579507832 447778427 592439796 329446159 479997805 281854848 856220450 186085562 803491284 685621226 167004040 990073831 196099649 884869608 194871069 810334980 204433403 464255774 756707913 259433320 410821355 255014835 104028442 760751504 718769709 180097801 180529409 966219315 692273323 379456556 895774383 265140069 620133897 302384640 882962545 220467471 115251770 588339702 399298555 458070529 236930959 280374885 955224521 881424629 609946757 701453614 334744144 884917033 109457423 810643943 658291312 534147037 214325616 133026924 479036956 675026599 565244505 246629305 649192441 354345495 429737376 725495575 183899723 850762342 773400720 250563312 117354779 225248343 668644496 774188479 749277850 164243680 442213229 950165795 233374874 482825219 476706051 496874569 643677714 770037826 505857874 177869950 745935186 836242542 927580855 672509121 467754312 826727964 969338352 350979599 386450043 499827000 259300040 409635688 639784787 989591806 657477042 754230473 297097919 455877017 455216270 713771147 102540618 341473155 993085615 533275482 921955156 351414985 585098507 660072941 981248338 138828911 787600454 195346703 880108324 316300489 236787522 223417566 235267214 146444859 227038258 576389995 238284052 404272782 119289595 282282240 938278552 889709160 626573755 851996710 335245743 740180361 588625287 506861830 402251648 611832461 140425020 672706951 596774513 672067298 756176318 714574008 941021465 173211710 630140333 780483955 786881939 201857118 176446601 138230511 954240311 237443636 911022324 218278025 144730367 242428417 659653178 818822205 585652899 526373552 580886402 132540384 558745662 208572072 337139959 769398376 422362545 555635202 386943918 101993640 392871937 451318792 674099686 971034123 149746022 595416037 354356775 601282602 293790266 675124985 441550170 263745322 351426084 789004299 306696370 142994235 751743773 278249804 198458230 148222198 263477570 221325385 406204698 350495232 673504724 242792446 522700312 218080679 441398249 714369569 819509055 327806944 680538112 647074016 663230728 623000171 281871572 559838244 724389194 265968403 870095145 841150062 655455700 633377272 171426117 595435690 623668319 144175821 866330826 872687838 413371032 561343261 111052443 863750381 345871552 978490177 457848024 165511095 259434484 488294649 867548743 877251800 839656322 831312187 628902430 741300807 830877046 836308816 928474584 991493815 891790337 178652209 977018504 801602834 256841018 169748200 742228754 900057204 239572046 281023183 690025411 515685956 983786259 528270891 454910589 124883405 456693278 545545460 813212812 583208286 271747892 959698437 496908550 271440224 423827527 263119748 957894370 227849256 254101650 197550728 345901482 110826268 604630320 924657207 779290595 887357034 911393083 469297574 676577003 779289780 218475828 565199215 799257233 924625639 972267529 994186731 232337949 544048343 438259256 361571225 677011512 441274930 516915877 716885244 272317506 105151082 317830580 150876315 891837154 395185065 854663634 174376645 300257617 629520413 610939254 956824291 860126089 196226053 339473506 977329917 626615063 641692635 372558844 121991210 433084102 885663130 975162986 457639486 955002287 683595661 531491501 704987664 845784599 833244349 819096722 305138371 646283567 153189261 757540825 874811402 721779316 997209029 474936948 422874203 227318286 907885178 326347046 545161455 714597692 952983415 707227609 731915304 115901366 934562783 689858796 495861092 749876778 211464376 333139033 974104346 901450878 815767998 950242518 766628206 738462762 296503336 657798403 799258089 951790352 826053382 377733113 284667774 215695338 550262791 670703723 359141971 947547682 394858175 870853628 515477104 792053978 637859484 641906326 694745486 435519333 517736159 794745862 500716167 601953984 885995074 223260146 999751174 434996204 728691053 850851171 124539726 460984014 742103653 942602173 106611910 526061348 887663631 225749588 744226011 240206149 390851049 164187694 830611604 288403268 894251404 698485281 530051425 127897943 352797217 536494001 199340858 936178148 845372994 234959751 848721548 194922274 668852027 711408291 795829656 828787576 297037981 966018736 307290344 510266413 279943105 692666957 325070317 356231351 494198549 683949977 737343776 408286916 237723131 596136959 850015226 335409419 879242854 498010177 972012960 572486107 590559938 114631146 479152066 177028281 354130839 774657593 269172094 691781067 472527640 618750301 858819262 716270754 636069181 425517577 169119026 342278489 727620478 992147825 248434726 296498560 738987252 164351604 225300309 548659603 251119719 368065749 299281517 398653107 342698367 547408856 523632301 835250673 716534106 219794706 661510243 475876582 851185202 397374841 611315565 844344450 107075009 251648778 769804000 810024316 834313208 992444886 548238103 946219983 841851882 263841959 310378147 794768253 982007029 762101674 761798062 952774528 669718315 475309421 540994588 708048849 475985389 270021605 954628305 179472727 162274403 278641428 408925384 871243190 849221474 191285939 436159657 800100731 868640389 415901024 249436521 911885542 256830581 902859636 902070616 582745416 242396381 703650562 719343169 399390065 316108963 500516414 785885537 231006157 772158160 973227219 749831286 872047171 241426508 144450802 333035723 545547349 278213312 963023735 302943739 958958403 267275505 714558585 336671478 232808522 182925722 590364929 281323600 415585592 678997770 889692707 446525056 372417235 417959398 998892461 462570352 659812397 146914678 649252347 446674946 787552725 662832887 335969184 171692126 575654071 603817984 917647483 318095233 329832944 171397523 652606859 135047035 394930149 355310712 802324613 458677772 590066849 899956376 480356502 630935563 279645582 118963673 606836827 899396772 520033811 969800278 934748465 384012397 117019004 311746723 981411701 816844782 964565749 334994829 835399366 517155137 891467426 400505601 956322533 514558714 180375128 743825614 165862733 596745135 272451422 230260178 145275658 163326902 736354335 806521697 289374405 475227027 264038155 334902597 501903883 799484443 567027896 656040632 713400697 834105810 715451383 618437925 801330205 718083702 595815759 660000991 780834960 555109506 880351474 455150048 189503275 370262583 106778046 509327386 292041993 158830452 191218686 319631534 239173900 547540200 101702375 478303386 789496970 505245646 765576415 972596292 192642800 404625043 883220689 429889800 253542880 240274677 134532756 910381883 403683353 558653578 186400174 273302710 395314495 689110449 806779696 810572958 562599692 107924560 623600312 327971910 337714874 314552219 473421080 337461327 648377030 750764742 632144720 329922706 578834325 185222872 215416888 174753194 646308949 338728385 938624895 173062046 948201948 915714430 593978358 331331585 177213718 903401529 190846335 834221606 909216872 859221545 646542861 354865896 283890650 789766232 308696680 508574963 621513404 577898662 285086764 678695876 306923268 615658934 327122669 624806337 749924568 542739598 116726650 432420625 167295140 951451767 654111394 399499290 696445433 165850811 386898812 985766596 590203323 573716323 473891106 139857305 597747770 893134002 178308772 421761957 229742932 665610495 989630177 299015255 221398539 922464799 873505516 541687209 855268774 157615485 113196836 682594220 980934950 438331225 715498223 922222085 392003424 998185278 867353866 215154408 359678553 456036245 860673102 224648229 147704010 869491517 922233481 630229828 363667551 662265721 515490280 507405568 974796787 621580275 774849377 301462312 320277825 484041089 217568772 104299816 680154426 481732000 216753372 619273733 149801317 601773412 644773924 701960758 924946432 669458149 863392060 769009197 491772213 762299609 127166602 647250970 778112887 412474877 323166825 273470957 468641893 263525704 111700592 151696319 925103012 535606364 500188264 619676508 262512222 365355335 727308238 863882391 799015298 869333434 553540083 897980552 771926242 794276755 659782924 502113551 524280000 838771576 638620190 488420360 719420560 770341921 233566062 565207419 859480207 930248039 452271006 528327273 464018582 444391143 551910730 726441903 378953651 913683034 757765316 197122308 493298501 602606647 979065744 366877652 245590713 168953419 375859704 356312892 777886931 351806086 763614148 479970359 634451193 605578663 682879855 756126740 238896757 597991219 771018249 927225061 803707130 611642198 735843440 161548626 915942882 695939803 549041979 231395807 865778023 912801937 910286259 730142405 158291749 294644654 397179207 413869898 744994529 159272574 936116763 802498809 518559429 720110766 631085348 742526916 221753234 472210442 445826116 796748119 766186864 382231471 963317568 255966820 145623793 182509083 852863625 936380442 965227512 706920805 545538161 219218608 496558595 651317944 114084724 143300766 761539209 246994953 594634098 224119012 677293003 430383806 208021574 234224406 115761627 143787255 828180753 278115545 108453436 223609296 509681232 717737765 610538278 974116230 849932273 221238186 730739880 896437674 938511585 326022547 398588122 423935730 120849227 610166592 871328206 426401448 362141356 742092217 234834468 858022130 919448377 210339709 451372518 819566223 592776458 842112047 902955817 469112295 501095436 294845028 535512520 582599623 715267010 541247671 641593106 391294811 721610488 493168446 686846881 276022436 701679415 934695416 354256542 381825764 589073889 916227331 710558168 906551556 704846269 883602171 801132904 942851804 916280519 764192098 434391550 398408875 377886383 483980409 208465644 316904292 373962738 630099666 710707608 734987694 661546097 478408699 921849215 552461386 331324469 591337337 478396435 711744103 521079341 549503928 262194273 759546319 987138102 870557027 790573550 869628115 294121224 747068860 467966351 855112018 894846647 794629408 913304791 872529985 257340240 106175341 100485137 507765527 635520959 327760918 772831444 994072004 681255189 534829720 250586276 165559016 290718027 193388135 371589982 188866021 265509774 426579429 374143050 897833737 576644678 798534482 587007552 117075135 278192826 328980378 242288693 722921548 388873530 681568287 731626011 426438157 621343974 983704030 248962264 887648306 350037537 910099826 948400897 225016908 789670345 222484404 412949472 233135557 356613481 655061120 984450627 138642862 991864733 388309932 664679734 501200019 990964378 226241887 129521894 895652137 436475000 435292262 479045054 707062808 859395282 832887461 581974160 191852807 678879537 252456987 263574404 634168895 392069273 186774288 309997757 666723614 414120085 917915132 564586104 869640875 148415638 413424552 391825063 789277452 981700582 648640774 138381518 389625932 810020616 486021514 164288960 781810711 354937584 749836477 566924195 932663688 264121167 122174174 163415961 982527386 300142798 664789752 634754834 486003824 384129440 164749590 349277920 330591376 818690234 426070883 309024189 490858906 890804269 270476623 612308417 391517042 505119560 679659674 343700756 666529329 741406960 569524654 638182204 396868634 388906872 517199806 373374899 231169266 641427200 758919627 193317118 481498076 191430429 276001605 723996141 999979797 735278151 456846789 572541990 842968223 936491534 779975382 116058127 345576765 778056481 187414083 695770361 297528205 387981663 984192621 224321478 429370862 833953607 486394537 230236318 168877916 444193150 266564692 117261094 786672885 185859722 794866599 754270090 706175339 885249877 838000240 429214527 794841886 300921166 394794590 169437994 503201588 874959886 168510300 293268873 667410156 281061346 884534865 133165303 858198207 921531440 588378202 722143080 458479378 958495476 160708291 485061663 404782725 332203497 924057652 299883179 781817493 662772143 670144404 467584987 885554620 564053437 265899552 375502108 289315682 761312525 419171427 531040503 105132473 600451900 370209294 861770243 582412006 449625751 878944369 774703655 949681967 929160986 578585632 564314691 978909931 902034087 173359178 819867120 824746207 492156725 912529630 115239788 124722132 889686955 697207502 799883625 770574846 206533749 529406115 511890038 402859297 961571915 722304186 865050280 981250517 767982450 143434562 523898933 238112014 656341999 962326398 930322828 497069530 696239634 367622986 890656170 753099322 901210427 361253067 364109787 140543675 265124452 964730145 868229184 541380215 403537749 535964136 182710513 590848889 780335895 927204201 357532656 604993487 787909117 862647596 165447674 153181847 401513746 317531529 524588944 162178609 294964018 989425419 940563278 369534219 668275756 159573286 321287878 503188688 401964098 427116737 122326528 720911414 825208393 523437046 174496203 512723482 181289333 185502170 889280066 339032799 686074692 522057238 925912348 397025891 213777146 134371026 900527880 456539043 801660691 394650217 729952733 474082179 325477527 851610517 571280560 866770299 619905056 136959289 910040938 137006635 799241450 635939833 682384853 406693351 276843616 180996756 235994297 571604097 324179225 824715007 370388271 808151669 350396200 873029803 792456579 598234133 916053598 669771101 901958925 264244592 942602615 224222403 721130083 680986838 627531260 464908765 791832269 935097676 763467194 337546360 202747823 799108181 190419460 572931555 651526900 860742335 876259823 940295429 654728053 163919085 116321250 456732185 786968584 767482832 397913079 374419234 360528951 192289038 324701965 858082510 511729534 798560918 521252852 285755232 958596860 485484017 928784991 818755033 912052616 915916096 834294761 452775229 778309012 594003373 434418473 373235349 350347922 717569534 966014412 312834956 287834981 486302991 939592180 538753653 409948922 276619551 691938146 336026515 798401092 759181005 354400510 154824694 852179357 370337689 154996202 542828133 710516605 536916084 307187946 440064370 872084180 834645446 836142879 648756175 909638600 358529624 559382807 332967203 440676213 935147073 642950691 573146899 150436909 821639874 406622891 393806941 710545030 329157113 578124848 739186865 224747799 344151740 661237152 477405345 758674425 610446449 629655953 291383702 815846732 435656616 701573676 336500219 274292343 758519137 783040533 645297187 756682053 283977267 707044763 816521312 964496566 794158290 574878308 371939189 621120914 512433825 819499490 806555027 700828036 879576445 148463004 109253393 441212973 975248743 811146679 594308813 852292403 302792655 948384146 498177606 443712102 451106421 436724330 906290068 179332305 949469719 902080819 846237329 203777674 952684535 335776794 196602061 935775512 548697302 937608968 949799490 444818138 330446858 538809153 162594733 343045588 883798861 529110583 176687840 300151601 374896385 646266791 202048670 126377945 688585916 990519746 309534028 125489242 435590331 683189545 950094846 749232009 192452240 755490839 317272340 103350848 554404185 559518541 248809255 194931801 998354869 955974691 515140374 751803469 352724447 971434434 374810254 584707812 545851120 924608019 934418668 786796546 715057048 245266124 807045230 915397799 785079633 837593559 892550087 692147720 521872990 476591781 982403974 345083163 284761392 729903212 131036729 602107012 216762700 173714349 600909798 676601168 831130731 681950915 179558048 897804162 116961016 688723638 837043442 210170960 280551850 758414755 752013398 259459306 862928094 285016977 906031414 896943682 375469337 989923878 393075300 636503190 183597212 766177235 615486701 793386361 221715505 740950166 890672648 734326760 966095566 960491243 933658174 715259616 167700909 867495031 686930341 206261700 266880338 545406599 481469301 411401228 486066388 330320327 645479817 450347737 933348482 903301025 489640503 560237984 378785150 817058706 372609532 286990285 562923963 386825946 778098053 321249254 499591922 262868769 946617081 645304298 133945480 141760836 680467285 820398577 719356111 793822296 763147317 260768362 794781087 991529783 591178898 165924507 485736132 628309185 678618371 972394585 975583142 446863816 672834323 780218595 270435263 239491849 577173602 997080056 892709893 855274770 440993885 408082436 187692772 135750052 973629169 272298941 816318252 265369544 819266583 215797770 555952665 788812509 405673830 314378310 814458460 687442424 630013617 127693596 181605613 934397499 167326098 690228349 426555309 379110088 746539882 350366743 939655296 145732911 243185248 853178757 608977139 381286088 445674819 966540886 785537072 763046633 824807206 447017005 925125981 403566928 156348537 184531542 824315498 316750495 487913703 731268177 115017710 789841855 376104627 806617354 262125956 500443294 123211550 556471843 586739762 253349250 258853540 752961671 414358251 991122353 822515261 165148351 855238218 491035179 826348491 394147790 132156305 607553849 339261102 142437406 142859134 652352668 348772430 583804409 156101340 764710801 222783011 246025841 934145173 770966618 412548545 998209675 451098133 182699615 417564992 908702326 321067213 211949798 365475085 420148512 900731231 667229435 408943171 399817737 675660706 947895453 590724073 271334972 818718388 368337668 885238245 407867493 204952228 533775066 472763289 582170176 513366094 740085400 778763693 568502664 359593851 823669573 733405666 723583202 633506409 362569639 403263094 202618704 293353322 971229608 362164212 514285810 960790162 683568300 545737578 579290473 818943254 191372832 346181517 646815770 804435344 752377998 675583181 751446501 748696947 686038326 603476334 140717910 406842855 230979122 785694730 412556612 619930256 168167903 341786020 147408880 102981689 474547731 768701152 547361982 283880602 289588375 562616330 879773702 357834946 150990969 579653063 854690244 975294740 193568853 458434387 108837898 246563580 890555708 225135885 661206320 363033892 876592706 984122145 557601959 344640631 669988304 749246369 870536686 951894100 461422697 132163965 246626013 147301249 503390414 241845135 157333401 405974790 902797053 774733521 386870430 540139962 959096956 716182575 680884432 736495801 286048772 859945946 214370817 958197268 987263746 348061456 514739345 689793647 415127146 486802821 934856029 996265640 495045101 207110446 138617358 763603906 753112978 843519262 514129412 178376263 230985700 501524553 956492903 367401236 323529104 904489615 871553747 693065938 240697977 555701706 252622939 656561640 830299718 796148891 135921279 731334534 418541515 388083988 148308139 218056664 175621777 578882648 365662051 946702130 235228334 317163373 576589140 204671222 320528227 771121678 870019322 846091052 592436658 536118066 296805046 728405495 366933921 980250048 910359406 100995604 756538475 979743056 953272493 661404401 796926751 694326008 801988666 585331662 534013931 902198041 613808515 249339643 939509369 746217603 223573290 638401486 648400486 111700233 921448716 419690210 980450596 285923013 876556544 491929635 866046432 476978033 802494369 390274115 153299423 610139997 558663174 945188839 587301555 119714439 125081355 916806885 822115949 131540129 898137277 649258730 694561235 357674401 709895717 197437021 518132098 137493823 640444020 892789117 377548525 396766255 686447605 374537379 515085073 385123472 893226838 431416167 873116791 509820900 626097943 565718839 405707424 175342260 948781505 322702128 782651650 277299146 972170367 892441139 999273565 983356519 279533599 149135569 628514778 359863377 902094524 273666127 154438773 199800733 738768310 672733794 392251056 962675925 114594568 706031030 769569811 984022451 973843404 893369595 646976588 408501143 152763845 580257323 820122290 747508498 473996827 237686479 890470276 743850638 770333085 672005204 407947890 113106223 311177201 201555385 811212522 944195281 752822367 485228773 185775332 684986028 319647692 365372261 635779448 440328264 345829140 358268967 342327928 294126149 109644509 320196734 194098035 721265550 101293314 861625108 670833527 185609920 440161278 321831409 828784040 955018192 728562602 736646313 358173180 878345939 435071562 329914411 302543892 960590698 965460419 675888259 497488543 470158103 851315467 910075845 506477253 820965643 217120449 838523216 111571526 749501083 812400908 146305538 822037761 508357311 779215203 356980698 263068640 297539843 214420970 831798632 252130723 599627291 169758500 759273264 523321160 290274515 249236739 952276584 822298290 538296582 702409933 795991448 458973568 349292319 704776426 890514755 313347367 245062991 270351321 829894087 746233225 476717631 360966787 542589482 822962117 568980861 743494405 518110552 292315608 881433027 611322457 387618178 454231921 676206625 996936978 473508243 288651935 160105079 305902175 138313757 766753386 173427877 379562477 175719708 623397767 334705664 678009016 150281089 793486132 941491213 717814884 397227204 957284320 946017699 234087532 690157518 702413960 303343286 912966950 911223765 231061641 432734158 124859476 998738948 679204615 243432198 254533199 677814709 621772143 782165194 719513055 902929326 470028576 805016714 110246053 641652551 193218280 958002195 372315626 753931158 143709504 858668914 656433418 124204884 717152341 305203573 647611485 251184567 715542729 710149140 644595458 489813449 617585675 664937470 785962559 375260435 954125289 140123324 255075985 234618027 555311753 452727750 642514092 144270158 212608708 517679595 738953426 351613629 370304981 812258264 804081647 168482584 869707944 707555973 858767916 703716146 603728317 157969982 393056657 675215415 241614496 811412042 890472373 721450905 535286729 225518078 521987508 846295546 595236223 310173788 646725437 433722798 314742868 130979439 195864398 654726539 249325304 925076987 622795393 290277824 777643578 545557573 777295605 633795824 781196437 917619414 983307287 487391187 589516018 679142019 547757584 433960505 265985316 782523431 109653776 505215144 446842850 671404652 154915567 638628388 671055271 903520069 834089181 481018674 465378675 951715876 198978512 573315997 994994939 822880151 682704924 863029336 458305750 840406209 997209584 752934119 908218099 812024067 596222548 266255378 967409738 405450295 985137141 393097117 545648928 605780516 594240143 989247371 276293980 296877534 248498294 851262606 787348242 448367733 671372436 644045042 447979466 582380420 781312992 103716800 467947480 463744719 203918200 232556670 794774573 513502961 885875548 671884200 874960815 420959103 404065061 363279928 147630773 611233431 759617798 683496678 985074325 903110052 404095497 685802816 649336673 651680759 331970666 622811200 169920627 596350974 645964448 806570945 440822282 546273613 749160419 611120447 737259533 637441916 418478074 349940553 363822831 300536468 493150734 307522891 124125403 823079628 363077623 990074891 529248473 788322071 326232621 181988284 309441193 694279599 858325956 432619704 612259947 510007570 983627478 385564626 346934959 847086939 120812573 371520415 594957540 253979565 883617766 644571627 121337696 239596861 190689039 679282127 665078136 695490974 836194962 324583292 899704609 802270856 372833588 524591613 773056235 246555512 120853216 799962340 734718539 808287910 522803146 164156606 873442553 242492335 737958422 500306674 875893839 233247533 549828986 901656828 943950735 289345579 748467796 255952404 391337530 978562736 432948289 535724938 638294592 841301907 896580457 299676066 290755864 545652068 687826150 503969919 238966665 615797403 907341957 913358093 814910857 170669372 974101518 220256632 241593943 400743083 505556511 424278140 620098873 319922779 483411779 213545873 936384544 657630682 246306370 105223201 207353460 901142893 820194390 962787906 297399515 374543741 467100060 283983223 702912314 606199213 775429612 480108873 676363388 515430402 983769200 940475630 976458907 461004496 557551745 708145095 497896683 314424898 291144303 210414343 691557550 212577969 753206531 815108576 341393557 461347768 341549406 415084829 665652221 348312210 977919761 991343870 227562211 470719147 559768204 708267315 528144842 794136769 116697021 316344115 102206758 925726727 130668575 561072261 286065605 379267803 879096098 559043104 748242471 775864520 442198676 861313732 402628028 241246838 797830299 564005896 368723275 744205152 385538202 248301418 712731074 862288271 182624292 569280495 489770670 464609028 583651084 159183440 322408867 109292032 765047668 316752015 775461826 889916748 239385896 131781164 676134457 749081578 430767910 713848879 761625499 559642257 666528160 395524640 239149704 874768610 906922626 696229396 295221394 963817363 136415054 308859380 401513602 606297518 912221185 188281716 908660650 804801358 565211252 324200710 264237892 441826159 207906118 322754941 701570151 944472148 891356418 179218504 911869210 198435652 503126675 350757643 902973869 828430488 681723438 437568577 969071810 368505022 584853010 558496582 477109587 985624377 962573215 711602607 681347456 404120877 656206578 553822372 439862562 521336459 651750226 525274900 771548897 544922191 124663480 163005152 166965495 939027153 451951018 247976004 205444303 628815269 426561876 923171387 605668842 546449796 743149495 126866333 351261832 364205487 886984684 429530659 576125382 451018603 512931653 508904377 426658915 710635898 852868623 963102463 181414712 546109939 949605723 295590185 664819713 109903654 328911835 935618168 806692662 887141929 534206447 824750051 814503350 894718296 145045798 572248063 236950199 368208496 353161882 826789044 513488973 554446256 483830981 257837992 240395134 997153891 562924887 884739866 734361026 920439884 338615717 525817763 310941361 365070439 279922203 729809821 325780093 618342861 994208398 162363135 349437491 750645454 210524144 675066287 421826844 432172025 852754056 273297380 819282671 291915668 424677227 484260776 518593212 801101884 365498840 100840495 609996182 429002152 129068534 715483941 224966942 984412647 726649806 596350808 959459318 638971977 449322554 409764551 383474445 211043734 782037551 460005058 170773815 793053938 193122634 287190149 864475789 657555499 653823344 525920975 779039158 841663445 217553894 400127321 371938779 126849302 596129158 421942534 815682457 577145852 795544549 451540578 460954616 295930612 997005177 932148155 827222611 719893840 758482896 375560361 710559545 707576169 703153368 540615267 489723093 208903295 361937536 380556570 261508305 648444246 381595644 666282300 303168182 994751285 514982427 527163717 529845748 242224804 477729222 873477800 832916993 465528158 143039171 847218170 240846581 994609639 680227034 489479842 593960604 154616606 724755362 106698743 904683957 727963634 128542153 594979917 438723511 822489384 164478560 481079327 633407239 438225621 435867461 898234710 991806744 832568943 247799938 368638433 491119653 263871048 127398925 646480971 830198394 294481028 108001596 298068128 674181631 633491355 937372314 501598092 171952476 143681905 643725029 207933172 519665315 699774429 529431584 172330728 316375141 757157369 152691867 475700842 934480077 787981191 269183258 138264773 236181680 666019387 110837454 378698591 736505054 333806811 491562341 624164577 210650242 733666338 283841203 678547434 451633604 432109490 274710234 376774962 488347274 623534537 155746661 234580681 172105343 478706215 444438764 329627594 376714144 778610101 836974305 584193356 629270366 333430015 540385378 929942837 903796458 761864964 148452528 188098535 552789100 366390359 840669752 956504804 764277208 700043827 734165606 648434744 733080347 479254576 568613224 498969563 181631413 681767747 483441163 946602696 836889281 691731968 636678341 726836337 440970034 460267851 585151781 198638030 994312494 880871505 596977837 497307745 511748709 632571952 498794650 415753536 152850487 715638086 431101285 159084787 683942016 400413079 586944329 579502305 678187060 633712334 358602108 958439646 601047711 533406918 888893140 116019342 534773134 575060820 645740382 154079627 932583147 723167989 914853808 929613685 245695909 428516269 638813719 728018081 246320267 136667461 122775503 599949968 432336957 379548533 874256502 860139199 962988001 700518618 119828799 839523043 738404904 937919523 417980309 218282925 911925745 847045989 300732534 279510382 228708832 321590487 391716882 569177266 276419309 871433238 121108741 140615758 962951593 688418245 133409741 529391910 315814463 837562012 836268103 749434441 232353611 342983717 545753270 442036890 734478257 452466313 438491660 551516402 538707158 489232308 251884312 317130612 704440065 168426369 975162340 796228663 583890250 879709516 861305535 930655536 111854612 287603214 769167215 564076231 994107765 778335524 518692764 339099251 535266602 478393484 478235664 480382928 286801222 752999456 590195201 218970622 180784961 470341094 376595992 566864298 273794807 783052129 451672044 453541375 258229996 237234180 455237333 608842452 728023672 144564177 646715800 276275384 115197396 715774741 367419187 139989566 405565611 102575082 977326444 836633676 180384327 581837601 345308418 574900288 179305608 377927889 391211918 354756066 790304348 327077705 889304822 637000059 203450929 674754879 979776570 911580221 503862622 812258556 243536600 770049576 327674503 918078956 121679828 731703959 912700962 294163197 131545652 983883731 656509859 265187007 995643271 520255712 260291314 160252905 180769549 852115279 768047427 371439831 928931270 594401430 653150451 371964098 419501273 989179401 378593135 265456129 586110994 806752659 634370979 759893990 653278214 514411400 927204345 434349332 428407424 761501561 770511113 117286276 483801790 656844959 795702895 803513996 160380250 617738215 131555375 514764999 108405780 437471743 226767695 447273796 567872234 492420769 480163945 385150184 226975932 112164426 707534769 958181372 611528472 834945259 916317894 952134251 972029404 837194904 761172385 477022912 264488106 637082621 989449396 383650892 898140907 562581952 787048148 384708062 591344322 681861217 261969796 120175922 302088703 728064675 322401849 829580635 220974370 145506673 694775745 324343899 618969149 261087790 856846370 543980632 361210920 728774631 755590910 754348485 358663995 855791845 147529203 568637538 823725972 497041837 258107660 912615125 846415981 607734625 761017780 937378678 624529824 119386765 239199330 194201543 155680057 206499545 608313707 733510997 452239452 328630814 467186020 173838354 513484291 431070430 926157766 519316953 786795632 563888626 860417231 810455205 503142941 999352487 177509648 126362717 108931537 857278176 296855317 491626234 821848245 557052621 428670741 358901132 293631094 105204717 219812815 996752827 375121572 129812530 531022715 277675978 766750183 671531103 341007870 196590012 113644525 117517582 111412892 385000939 576441508 731992841 235076704 981851204 247055913 288855697 184488821 387813881 612014690 710579106 523000170 177635082 842113050 972846990 102335833 949442357 642629954 407377932 408835975 308412917 654099190 829057428 606061594 449088073 630311313 225734722 748141231 332569351 774037933 405660370 664546327 333732379 587354821 946747550 750604499 966711430 356321257 496474363 553180059 239629423 136016227 729334211 488937240 714487293 990284259 298785559 370947483 480110674 496040337 650512079 793336516 107309376 785160683 444722826 347489446 531545673 945949627 689991972 954444314 266663399 180555889 808343295 238940324 796706867 614898884 495138841 207204769 191245851 292780904 154738674 429201487 884749181 672446290 192561156 301943156 111030863 492407168 312541385 769575990 297888448 580834951 554419069 401020365 639804051 794669303 113499088 274017711 456301621 648740913 775298440 155480252 671217709 742727450 479626304 355658594 869140893 748005163 747582547 790958277 968157929 940403391 491464232 455815226 105915662 552885409 199609933 948052585 185294886 215704056 154954561 250456827 901192221 357908143 267595378 227581496 733419987 768293298 930859908 879610666 307939186 151664801 590793420 873064016 501480120 667699292 228888639 689990726 728960404 893714804 975967769 132306410 163840997 738196493 266456558 223029379 220886264 561524469 745936525 830780893 791821179 432251534 866756815 171925492 860629717 507571040 359388540 201533445 216755320 294822423 384326237 377594862 867630232 263317097 427809846 371965613 423770845 391728708 884830052 362123276 391419087 803873394 250618903 456623029 999476103 335403939 135909219 697725141 954896846 656497448 458140544 915580300 616995821 154415905 205766538 136872872 658981624 312167219 514316871 239100354 609524842 312614012 279616322 556134064 141519704 779131047 607367773 211789371 722194201 399906820 406919621 487252679 497141781 723356131 943590448 284961006 977140980 762401522 309588575 296020970 257092174 553427682 985285914 213507530 157156760 524420300 297508957 615805985 450640879 567557129 850225229 812878639 463807281 877469967 526614399 963802920 846246323 966892568 234000632 926923650 273727095 735143044 475663582 537539978 495835943 247784559 279885753 883000056 791799036 309200619 117986419 558766136 745448276 543252418 688095748 715963942 982903376 537436418 796225643 951177454 599693085 434334943 576926883 627684597 207966765 105153187 701575418 164335655 484999129 306808709 274647513 167152145 354481866 497408080 726185834 908147585 387039834 692985644 976806517 181996168 438380562 270731876 293565204 593259744 955023149 744325653 644744413 744336772 749778017 985031561 408429767 489785428 964591397 703946541 856621797 938816924 810408622 564876999 686973632 637647281 979158284 419662230 163632237 334964256 119101240 956548525 558277193 644691286 502631432 157813274 287007472 476576624 264482273 163709035 143669621 759635425 522791385 315658861 172150019 138896509 293597545 641030570 296455489 914167966 457470847 469310970 396664393 398057474 669521450 487695686 104614141 472188932 246252974 379715666 518408619 422336226 687239740 527092547 753298391 961981776 398828911 506427272 397988485 194115158 428224502 625038844 952728389 431508642 793255529 517886694 497640589 779067614 613216816 855738828 121040973 544457300 747850996 876189694 922702274 492890336 824450813 272813849 646241787 688477583 811121973 433249384 235577184 666969797 841188119 557480350 113699345 628837306 587447260 524081332 110350766 670816750 641988387 284870409 410974520 368465810 186980013 544737187 453181647 837024862 332111151 504197557 483659543 760811866 437874107 154649456 950586923 559130358 906636371 882780178 321301925 387636917 858259111 530770759 102800283 195308614 677852040 209076834 143069179 519399153 925620566 587757228 977999530 449010846 500902541 489442418 845740298 247241576 102749204 719298476 865593831 106450095 611784972 391297965 927217016 477352514 638466574 770082128 335075113 774820422 372617764 109463077 325954263 148560940 833257821 256443367 183550836 435383858 178458450 170637658 960464513 323933539 297834608 415018680 762816056 269159999 617617887 369449181 131149770 283808804 164767942 696395818 773665831 914342378 740895496 972495312 907476039 547218216 253439954 918612881 109542503 706187567 950987934 660381580 508686275 909028782 184741793 719585605 781732213 448518053 173731026 113261423 468492709 324108086 985069423 981940792 623608045 782977455 431389726 872603868 883359042 708370328 452360813 111186246 569524815 784976260 742802938 138343330 489070125 439157297 603800779 557163477 155264779 272070241 617040064 718068873 117195352 802403744 751437623 842635654 742350831 922111916 282574573 236254550 248612396 116236836 968963575 917707189 759990028 569119432 632060919 385884448 261385911 699792547 553308464 764436619 572356352 129302917 287202725 247274564 939813329 103424549 208720240 846532508 608934142 812006119 606393301 315888901 100855198 430960883 623510067 584425741 504868059 687353109 411376364 842663185 908260154 695895887 546699997 232155981 268759782 982357398 158629647 837074955 447978268 793647438 883930351 520441779 494588975 592186273 871686427 249670220 159288221 130619307 889264276 895453740 476131760 335865989 957442591 865302286 612231542 473592363 723399429 100229047 907004168 604969532 291487975 798656812 393250014 473758025 720000079 348781839 225762226 414215322 185249120 268164229 920973712 430541720 698606577 730608051 209755671 139847903 522959155 611301322 955679763 741920377 158702436 679615876 407068620 110215685 144389002 698732150 556843757 611363477 411724960 283684898 841920379 466360047 456494442 534251140 987981747 115640211 330212395 375397629 800801604 530120314 822549846 781078503 622578002 376502480 615619578 172835630 145842841 355251552 715530811 266491754 603079621 565399926 813418040 324879508 429041118 470343327 184810002 507621697 273724020 116289730 965467215 213604281 364400504 522740786 168804945 609725273 865070176 391288987 594978857 618009240 703827522 944788604 781507657 130107908 752380046 712116383 694201519 691025933 981069851 842924358 767174546 782646804 577986322 258832348 992671382 310373023 177226928 489899096 227700174 681469885 181348782 304434090 472980311 924234556 755720729 426133284 984102032 621726700 687831654 778373272 319262965 348445349 339382576 317113654 441438381 953267167 162619612 935816326 184336965 904993960 529450761 385182760 683607276 588978900 182106840 281701676 708569003 864529491 194189829 163175132 201375223 891632265 420591274 685049132 788113813 193529200 320591551 208211133 937698067 403016072 251427358 741914913 467693816 567833110 496602869 599186044 618549168 625940330 348924125 950266132 296499378 700751631 447465024 647779449 809280507 760440755 983163220 210699544 266291465 278696881 624199430 799083122 834086632 125673360 296346506 433555225 917537254 495559879 306284304 620839223 539153274 168905924 652022158 581297673 408168289 419971185 734687609 144001511 636588194 804307738 661400740 851374800 717327892 891572963 207176114 618653471 393870565 210396411 233764524 525628175 325560921 475534232 420944672 420909998 504580685 676227643 459642381 354578244 455834247 116327412 711916698 698242872 867971371 977846846 302692305 386812420 158582614 517198792 962008484 923458863 830697004 458787866 337635658 927401643 788226665 230785915 210312610 269385859 877894118 245461209 329312440 317587434 674649293 762256794 708481337 612623477 163162022 532335719 126855661 340179025 752247289 142228535 277033692 648799379 512785751 518953592 621612079 665709567 980833710 297960047 366945705 475603451 594476061 338044006 821573430 546867472 292424799 966602307 253976445 891294715 883635715 360927343 391195366 252369302 746102569 176146846 150962066 188359438 331853518 453933421 387712862 711235722 412920588 569631597 893171233 836512264 674366027 229951912 420043408 660061974 745403392 790279654 818707602 721422525 542650210 774131224 688729038 910364506 797144176 764248845 888915288 891294076 120544741 187816600 718835587 929420911 776476589 122251826 960879093 747312985 441284190 976007923 158632110 346203237 598190523 989513169 741284302 735196165 383570307 220382506 330434787 161549413 535774527 651851438 168696644 879614264 798844781 813507644 424356642 536089867 230145056 668484775 181023814 430366681 691233660 137153113 917174166 987878363 682902730 534442162 405602623 335815430 381347716 820693478 229882642 698058273 948090654 779557937 311474725 930530820 383772009 170520083 519646505 558692003 194463804 769191892 109864819 884486195 887820567 139280384 506498637 622169804 626200398 311460508 678478954 727210064 603110223 347043527 387777227 146125171 440576846 882464253 180367169 934799287 357395455 125388522 564669937 677692325 113391240 254292581 944249369 531983435 415063079 980566598 413119915 960696512 314617949 803587142 479659034 274358126 399089960 439446652 864273467 584897961 292373482 510913124 903088004 130358884 333288319 450533902 707096832 975351634 954741140 848922158 844279950 756377993 781982361 312311544 212169312 982922998 263628451 873109521 957658332 304332685 816883699 706800105 775528727 603879739 344959096 709551599 136752814 577739783 717556861 728313952 238892487 355185490 297131580 344176445 191057778 521104795 679378798 703384773 793616274 775445296 352921823 431647271 579688996 513458251 466361019 510759761 549250416 424526355 915488851 533416973 167973426 644711524 685061110 703357615 979239084 801504089 204266365 711420074 282642644 633831353 360444752 459309329 567937053 714044806 650372305 295323221 590201159 755350455 570897242 166577289 688389147 498572645 397145228 838909479 643361740 645036107 671893833 714598717 230740634 167968675 252007089 680564065 142438800 107097624 712045964 156105752 117435297 940961257 953747293 921080196 273259226 190767392 995493503 743744554 665303657 817334590 274307805 353235678 571613052 609967046 825060074 327952493 491539492 574769914 465383817 967349530 871973221 934235021 324055579 769740889 320635271 761816488 971530124 306849323 575758105 558499122 989317586 918188346 744661861 357568791 263847341 845487011 807989883 695849061 876308049 150805425 809410657 762686986 250917182 524899151 989647130 645981680 262498804 549039612 168413310 109812850 903684563 525906544 332458948 790962586 754129579 342803774 933121267 633348221 939488842 921112059 532330811 669319156 827040599 179951771 368293830 852710341 214162566 891674957 787831378 194613747 865238511 174365854 485913603 465782244 382792690 607206020 922684977 365726562 572772153 878908109 418652639 587644827 124237611 761799274 818263422 523074838 456226438 652779803 762584814 583215183 516782554 711309336 711570891 378404478 180907493 230481810 604149526 431954357 434636687 528529193 972968884 923345501 789685433 296545650 211966652 234586823 342493523 821582738 706369894 581131168 645150993 598717777 940084543 119776253 537024424 163497061 987249886 472868242 559625361 260274153 351001182 810146393 575119100 116861870 262601908 269514421 905921153 632911104 543999928 242222118 942703561 291348685 349891155 660849428 880427423 983994620 761085255 898055461 689200699 609754754 689878435 826258638 584108154 803373700 256707799 751542841 613760551 389078777 998659413 703414178 626880288 175491023 371822234 872658788 126601896 930666953 332476721 592178197 853390565 879021943 432415284 359130446 247254445 355306968 957947518 926443724 843850246 399122414 591714040 604707091 120825358 488953267 351301568 285685682 256825515 891065942 970138790 292576734 305171873 161793384 882042640 343913799 726510610 827690010 176409681 873428334 583638192 446729683 791386884 915655348 397925787 836635662 971127478 436503341 423010289 576446747 435506477 506121631 834777195 747158611 769334987 503654857 368155139 872117457 603938530 955886160 581519412 323169653 771773820 108316054 337888150 949194863 774945082 869475279 240446489 411255348 574092454 420273992 731864269 708672838 108423573 495536314 366630764 346854779 897079196 881371093 152095630 652697562 667469276 914865620 113949452 366049168 627986080 719221045 899290405 805625428 839972877 415452052 797833082 324675912 848491742 913623050 743785534 356424572 874462551 426310396 664637632 533719407 847577982 324047568 342857956 470886841 607709484 663380737 578918226 945839964 690993284 759290600 682487042 790105994 970963933 858487202 967353402 978199814 409845291 780714788 169599311 522070381 694126983 738051309 613697842 604179555 615296515 876736739 756054380 412280253 662106532 576210771 928465391 448313194 127151126 379399114 625308983 834696018 251570141 529749549 186117323 912074478 367865013 841803253 927324509 113831013 811459989 723482335 447499795 262896683 220137134 973462848 455624057 634975369 526496699 745549844 265211224 839139831 805572297 496590377 581181124 425645409 736331838 814433542 798106047 743875540 596845773 599896586 314092474 380792211 290906851 357542591 405529578 180031955 497875042 949361900 585852716 197942666 232653864 847734097 544979511 766962327 631792458 437188510 570533212 751235735 783451335 702041107 774012468 798245919 751398065 446299538 997770607 713920310 908785126 427696340 680019067 580435457 946512073 176282730 244324654 282515690 697492553 723943303 859587638 497855667 972920700 274351420 879862752 222537527 440763332 703434021 344491450 889619440 602847848 591806766 742219291 686790431 588255540 471973356 742040207 990622900 275704068 969507350 749008187 626401128 849974446 939981030 451851612 654783508 416769806 439135966 578419819 542218407 701624314 586822281 146764196 584840772 958174094 413600873 849020956 764001951 242998388 814703170 963547010 655917059 707793493 466071516 673319223 954250318 131062471 957572246 810809327 462584829 275340970 849762346 757029084 317655912 320397327 786452523 298500729 744540193 921982446 298099504 357260688 987445920 477500796 842375490 373796681 910446975 131349506 705299635 718432094 551778123 127549254 560195412 582786056 267468399 831288941 147808055 991393862 625066411 983496663 199230620 375196422 672453153 986071898 687935434 656844716 789654149 857297719 178190809 222061298 599295124 222751737 111952624 504370030 641803390 864574065 832238380 985786126 510693385 404890977 975504609 427617775 760905502 535008019 881478801 166928250 326276196 630632429 223351942 336489688 484207420 649964912 935062793 871011543 523364464 117592694 705346806 354903360 780867609 165504968 147116072 343762330 447867059 518246623 783271645 633742856 462646354 882020232 136801952 640407030 156280034 559480751 829689929 379051859 912978188 360488322 813978372 854755287 819973273 898355181 735191867 552405709 968367006 800790596 900845438 490308179 435711227 427863154 960242010 238202342 279406212 339447162 419583573 626358022 723192143 842758302 241598476 804317698 500257283 183042046 455162488 352278636 261671832 225416812 771336107 726904633 102812250 518013437 737475928 823876701 284806478 628620369 859391996 149817855 565109969 466540741 630282439 788736441 500152442 471224546 152498263 182449552 429971517 517935416 820975046 212118728 719938458 216564919 617244527 918569113 746050669 421290637 840700128 507087059 417542226 823531725 501266959 617037328 368381127 954702224 162207347 648138172 379986121 702702768 951590039 763419985 864320908 875089982 463908132 340011648 179901212 784420285 438620621 206918907 272128695 858128321 412961546 259117594 693028158 536206741 476410358 336645233 449110225 719817334 818635243 142432707 396725815 277592143 450134323 459024157 232231675 314331487 259957765 910059388 478211131 361146661 955818401 514322040 772475960 518406407 543870547 507212822 457876974 283937475 367370770 808601134 360079959 543397836 442563508 506762750 542416425 610324769 811190779 861763504 834125666 603092180 262694419 215034018 386312607 202512882 358826710 977037972 356670843 460861115 241573366 687335542 769111675 799759801 606310934 226480500 872954327 480653161 245343172 568158093 760747922 926791988 209135095 775971833 131958509 161223379 590304732 308253795 369351075 717361981 637564188 235796783 748198218 741895272 237802932 920733480 129655311 982630531 883412793 148544692 211170990 678051117 573407333 851280134 345467846 489820208 563488487 999511353 544239648 110455898 231772763 500698248 951028213 321488216 247362162 999081789 890066528 426882077 664638871 386397976 407271617 231264475 496987610 742045404 624897502 665930672 116385659 357394890 865397676 149026382 359626202 858320321 208528791 709986253 862519372 957256106 214439509 256217492 905251349 287990218 983001720 376922440 460678670 472791118 818546455 371705185 245160590 624412430 186370319 700878291 696600369 854000400 126916052 477702803 884232883 899720208 718247109 424641601 310545248 647287069 307088416 347385229 807082790 763411982 384713659 231699378 369291507 334156297 448107133 726752840 478888646 580024276 702893269 160838505 936245613 484778944 729526727 119453412 401058685 208403782 233482939 502640513 214449505 855407811 333094032 532608725 421440476 860856170 679601419 482725373 311947181 851133925 271794736 454100063 394114822 358844363 514070087 384214464 672846177 490381599 569887489 744406224 144321892 638945736 382068976 401447676 684854710 892036694 251007838 949602405 289989879 388987444 904054905 834463496 464689433 279111583 192302182 455511190 673235232 722648077 427685863 876364771 181458077 366060853 282125285 876228482 745496418 684843287 730253465 708738434 454568841 189326344 221375172 804570125 307363451 774572864 462807982 183717489 616162275 123188953 635602195 269092214 974583705 346425445 649444551 632811797 435558417 714040222 418606116 986171728 830019873 978620881 728927054 192819126 965723953 598934248 733248616 149422779 294080988 747929373 856979441 686387485 563553508 383274525 413080449 289825260 490501313 878668192 257846019 892529792 356090979 333780225 826887298 660308120 403789224 611696200 455016927 662415055 620309386 330763539 912523728 336833041 188964853 211183944 677209074 734343437 346519416 163581665 578293489 196422121 920723770 401398670 559882226 863039742 393136409 343940209 521539086 652163912 493321952 622565640 909386848 857307476 901251928 679923670 389907876 753258622 851707235 933945459 909590134 675735591 918947322 612172725 100410279 879138379 888177335 332386576 930012289 228900908 611959488 246344104 632874482 992408705 214083321 980788226 553302969 611193264 162642210 154101229 127983927 231043509 875638711 774776088 868269994 105379112 823640927 991376007 248764488 857716222 421695295 891150465 488175947 144293497 555011876 849056418 557794672 361571099 351536859 492296634 665284282 501016143 337247616 844383573 575662485 769620033 682903342 530099977 517645330 606348347 553583961 647855621 346099872 749605015 992778547 714538343 346370088 579540787 447569076 172627990 286847345 127985030 759964329 279702584 532317304 947127935 171555815 836278044 860032504 141363654 415930260 732199161 617229274 377006082 915975219 180082551 859145569 940065719 619843302 356571431 484032172 271012885 389829911 899123963 578548095 297048656 784092529 926916196 380693910 809972172 385757849 353570287 894939219 877565731 210082795 891322402 732102694 604876737 740894080 695893115 978899413 669740046 534999940 935614347 526943784 968276290 896678388 880815788 864356723 309478953 947786662 529457827 570312073 483281774 528159680 914610583 768305174 486868836 262122479 532273243 471407829 246170253 818547880 541359928 672175502 118033413 474245357 530183577 655251336 669063432 110981370 874429636 679741067 104896534 830062420 876812849 322774196 267312209 168770995 146852823 469094862 698830744 254578316 315398208 342032370 740623709 579418979 351399087 156389867 275284547 875975356 548796001 392853247 555231511 458710388 606664549 912130593 263188229 828618451 655325217 517160798 406853337 577554567 859869628 667290530 364193837 105401941 574965110 788051401 573515304 606511794 893899980 348772668 487751400 394065869 821765731 774434940 143646445 320032341 245968249 742541429 862490472 444204882 819214215 590065191 988610336 531858533 773611813 838702143 840015163 331527342 157065168 937156565 589614342 445259043 159901766 599917229 225171052 903118658 298465364 527453298 530281714 162248418 165194194 369773704 396886175 370759901 392121467 980101641 733096038 590371983 502694354 666530537 967694369 130629036 726505068 194892513 938615020 865596654 896317629 322421122 180491074 177538850 520368946 599577306 881979482 248261432 965023007 353197469 183219468 559132788 504332227 375826832 909473657 344510379 603138191 794983566 755377223 225427714 996438488 613966282 383759570 497208689 359720068 233536588 900099874 478414232 234132225 846854312 581105688 678893970 644905939 921718182 858434257 250638003 485339182 377450514 757472625 307823138 575261580 733060338 981967011 260687846 351871886 411468898 921234194 523696173 742366551 319786352 565743431 594517997 261479843 643976253 819332717 846306062 447188468 344405306 754900441 434640508 264143400 305053142 228858945 722009806 481310698 429502029 206923909 545359986 736573815 414157492 608904434 848329285 806294801 388959068 181843189 797770974 713739176 396347178 161328321 694996083 413577981 727994962 383805482 257017429 935410220 627809594 647409862 742116892 224018730 960085146 352863329 777074808 247502243 303534164 782429867 743358774 208864143 911349302 721500118 771873288 214054688 964961639 196195162 849003790 665396087 219229721 147447368 292276643 136142327 971528409 288006963 937582356 997819627 517333250 761057167 224099027 641436101 214181772 792625765 671530218 809873547 846633630 980891693 346523391 163825600 987159343 695582906 255425265 994972546 860568976 167767833 727510789 667204723 419284506 729229385 109539171 529634707 966886235 157577932 699449314 790614604 140038576 946839539 319794524 359412509 277498017 509043423 244891356 315297653 166436526 355185208 312906879 426518625 891228026 670767171 807254687 257589511 540699982 770245714 332273772 885824916 688720173 240881856 712367215 321208367 690005633 961798896 684058468 451292819 838874665 836791874 511434692 402775615 484799693 101834691 301722603 765733121 213739801 905399625 134908646 710438539 134005786 812705342 529864562 572052637 111870658 199001416 890242848 615849939 326190830 628175311 258364413 456233152 695425295 345609587 190315920 745440660 631432137 816719963 975738739 896906612 647988344 458821859 745203654 745988643 939046898 853338786 782278095 791045679 960126396 946163355 638005526 450246521 728328455 581023521 498542830 802977273 191252231 622562497 403191455 421678582 626017664 901704920 888079771 476247223 841035189 324417205 575513155 894175248 737461401 320863619 199866173 373639904 832947850 584747909 255764660 400390264 528325704 654031077 962618587 219284225 352724502 145955256 327265907 337851726 692408970 578809841 673846942 996360920 974812334 331431194 729585762 714407798 845768676 119305706 900398848 250902465 552120133 129423223 380694401 530068471 990672133 810491486 306754482 458609274 657676804 710228955 970961447 223240863 514919840 622892568 874190989 285015212 513492711 205837828 484433532 689815801 683670156 165965950 602063645 132357615 136001568 609141553 748853873 853580720 630157660 158726972 247909602 683004619 307331773 588790111 314470294 819877776 688305626 287996284 611472404 963241133 829004162 794712161 808238248 153697529 554220384 117863023 253047266 796799323 605987351 541037498 968226924 970267995 789631889 313996525 996721521 400562031 731702707 952009575 170199056 565577956 463597205 830279701 428958712 287264684 264549466 161301531 627344771 781629443 339827168 307456229 367538077 996722744 236650569 934276915 995442426 318465588 401923789 166432479 112079000 932887108 838560576 901508191 726343865 430075915 344889838 186670600 920184803 700281583 914788046 504061329 860171326 943245559 591127162 606293101 595576710 618204400 863042902 263972197 186502463 729937852 420825368 643818639 931526108 494304616 378341048 130002759 840294468 401270479 770750429 890626193 859147593 374896137 758947480 315477762 936235123 473932382 774335363 391365282 650274028 227586300 300808539 877087376 460675376 923166867 125599932 242803096 919769318 506001327 586296296 221941798 889252920 321970656 534895708 819918556 497226504 726871629 976107707 325512357 284939678 695804514 810200877 929486960 102170102 561343610 595348169 500771878 482983033 726214254 287625735 624148711 723078083 931389627 697927471 740204439 173803330 675951295 336035000 998117728 585995058 523176095 814946996 860883325 846780346 603216936 592775467 520929308 735814433 874988691 651801573 850148451 928499776 405843899 647727438 680682717 618124925 232214644 674698517 315770835 272633491 659763833 992934018 136571302 588306880 634524692 703877901 346843895 176012527 796702939 238503537 461117737 517921145 245950428 175991448 175448441 188625468 106910812 140855057 750573800 537796381 305521094 884105868 649959590 146745024 579167730 330883786 838912714 327115652 977712087 558370133 441540762 442548980 627244964 602687258 548551615 484677343 439148623 137475726 435204590 756838156 458877846 948904575 306674950 472004170 692317537 912445942 691030671 257703265 173433498 310466089 646678146 897371226 479007781 971981566 806439778 541011938 258827822 800693595 182083255 586889694 472886310 916150310 697212086 896872243 830535512 491507685 885797051 119703391 893938925 156057364 684711345 388879738 659009354 813285552 823503970 284825715 542312741 673639976 395080439 384561135 683862804 783999349 421459109 475233460 776680843 680512190 149661565 931886140 922549305 115149240 180243854 996848479 741455721 314369421 696121456 848278124 688237639 302300299 735229593 218715821 949797440 984337787 910232509 186295196 213204710 366100086 106810369 984148848 271777389 979395401 789152249 643991689 638664631 857389636 269389994 453563738 454757180 782217682 891764417 335661288 328142019 516444656 909304208 757963862 765200947 995639817 982146775 844098061 284113717 628631379 846828143 559662688 824768541 996547185 218189063 189858027 259231060 409752546 928404909 324187467 481968674 427418761 119770830 658760945 255187787 101173598 893493038 581356293 348528025 591631226 373836862 123896052 480442343 600217308 939013780 852450503 391599829 106141818 747865645 712001565 655453682 923570591 502572995 945436000 243918728 515818985 992984949 731309804 804164877 753828054 424346446 947061946 597645684 305152500 939440665 819412765 730907957 669094673 139194562 803797043 248405454 784204091 195098395 240206762 629429358 443899785 676148806 153283128 953735919 819930760 905670469 160508273 692386410 815719064 751615775 316540412 638658060 806840822 133711566 648264204 255194301 298566693 323492438 739025041 333909038 746391323 644922528 924428566 169916209 775084770 687666598 681701234 747826391 325400846 584595767 706321313 516210109 938077794 809852521 327453065 843009277 824758757 125054150 770412709 833557969 312669389 897874846 778053485 545532356 382930286 883693787 853941620 646688848 451961836 926278996 691091799 383395799 215215344 847859538 954288488 553573362 594458825 450900270 571568032 404128931 156653447 283887941 326428727 686682796 819525051 700565424 700218555 499198123 349513096 305626562 456137720 998016944 574394342 534379524 806956892 584310721 890199876 374128517 261035535 416745016 857048825 568949231 554539243 279288949 820720758 178550979 684089882 629391842 569989667 887555937 124161098 997347488 903976210 968343248 493305112 672401593 357893641 441289371 675737601 120776283 172070202 297301263 499798598 155280242 990717618 145237382 419286292 735022904 772791681 466351150 204528741 550179844 679910110 153109294 875547008 858074997 688232545 642305937 387876783 652973697 558845840 945331805 935469999 684853854 597946293 375567609 852329490 797627739 763235974 480544238 928482687 227433607 582788707 586131901 341649709 359596105 264041726 102371816 941507346 105155674 463178107 478097816 440745572 654250794 251335829 409507831 397992250 198492977 676313338 387539274 171039835 257210517 677825077 165922924 919678337 774147401 686248327 783685503 987030034 412899126 166836696 578249899 946758966 873147931 584675684 991613587 499776706 904086064 582512264 118265324 156332185 311794945 933877830 246351558 894605428 902475037 618774261 536554370 731417894 680085075 802232854 866332252 177300791 210422637 647914436 341761704 824169972 505414204 303255741 771543834 601750829 606764701 979133803 660503167 843047259 766066143 546365413 968066302 281499729 735603346 627183112 995401853 673646546 818553848 649396205 661292320 624925948 295977437 740697171 811394004 453800104 209702518 506648824 714971602 369582790 124717657 960103503 975233626 764791020 165305150 136455290 405478924 966487550 509507202 162064521 969978166 275113224 182302380 397979137 649985177 872420471 283738723 182410522 719720629 262053835 542152157 595809539 874886386 108529515 576664702 204047532 489267181 285374963 830832189 888038778 933914754 448262834 554463380 826179790 412532413 448266458 234714984 750285116 970526691 484007202 271128497 797401241 626938539 943907243 209879579 847771795 764215548 705186025 644280107 532127175 158905699 879091700 171114891 171864100 365858349 463283911 466164334 649626864 367665988 137902885 885780363 235183865 563645597 487850751 746110558 871983678 709111016 417178146 562226693 341668124 847850450 926996067 599198216 896704039 281162351 275514990 970691715 246548346 387369503 355946342 234108174 966406109 820538745 955104032 321952597 454238243 205264370 874848168 981276967 325597626 752366337 538894440 468015507 158846128 518896435 429252405 908747763 901822044 257301502 564594202 797518658 106588897 100584656 662540085 303888317 602230548 899697229 511369588 674483344 720933158 952618830 195642269 350694973 990078390 481033757 932697229 293537793 941723026 261376409 298756664 243822144 486881290 229748305 271535576 859537888 223149259 764531183 367601474 868607454 833187424 778132156 711244128 793902228 754440182 966809730 793479791 349018492 462385759 439364987 816091956 655183743 553710171 849274587 642648525 356092741 838259397 426314046 724722427 374438075 970506645 218758545 382957998 475610414 707573345 486708226 845033558 409588452 840402885 459428474 883304424 759724242 316603499 582696424 198016504 701395141 397108317 259291360 295710630 677686129 272167313 906598712 377042141 689585422 410158230 237367283 760980138 263874242 832638550 609463271 307988486 624456951 236223367 561019528 255904022 211742422 599745964 996874593 807100447 532483010 541265103 947113580 654309601 173058847 141627913 648046161 484090670 214248699 557937621 663138641 190183029 826880193 405975964 403159826 741252859 793765998 321844564 886385050 240476648 137116644 989595200 203047255 685451207 386173927 635227236 789162864 529684109 946733825 196769826 627001409 921609939 553747182 653642915 632215456 869676398 807997764 975348681 318096019 989833565 585354586 287880714 659227020 162350083 463204044 827415720 517795440 915707059 146450016 690828427 880137799 958532399 498227210 444013914 567179837 682303999 280857240 513805395 712825392 454087791 859082351 220963971 851900453 880255125 619595382 484122729 469896103 510445527 205553365 731157198 430292668 260805515 656673065 478769383 929921000 369047178 454473134 612487776 313042816 326779976 885780224 747941636 241976665 118062845 116036029 806148068 537145700 298827917 260337669 198937486 373687510 952213468 151157454 386699056 414991864 341146210 406257417 477089370 273706422 864787589 679006501 383184180 940579661 558705974 768579655 928688928 227863526 423060117 492994719 970559151 149837484 763156059 372591658 267030200 248897859 352251031 159436193 680053015 839891955 994515554 202849211 791700282 688662858 881941435 699379813 173052485 997592628 116030976 515462413 735692014 526770427 764682027 476100293 103773345 827181302 944030240 823343588 335844419 157360870 529474768 299739490 291993919 189388400 906177831 308937777 354633669 878516953 819076254 698848416 747990905 602230699 739718510 851805616 833328109 352728816 309526071 832094446 740108434 730243138 695274260 895033387 898815836 186088294 597934344 717846797 251030305 490331917 489424219 615331553 178306944 169815457 238048080 356583642 317592207 613955915 794894503 275752112 503385358 369669675 528990516 850898858 610896052 549477953 173782024 286028625 326535536 197663207 767937523 873514961 952388957 890989379 557210106 185147147 878670605 309644426 964259667 110743105 578477673 333650686 623658874 891731642 787300132 210231189 409826046 596862273 552472366 759748903 732350359 906007955 345637018 949981600 140927095 940348311 553851475 751262863 529627545 536015990 717778997 694049069 759547070 734416600 253312954 606294673 120285645 582743356 634309011 902219348 420250724 725113448 124981644 370804986 630613091 540594059 460695460 690237252 435765658 714349276 558018481 865144475 588616849 944134866 849498411 713944739 786146840 430874454 187657332 193002246 180619376 754995435 125236194 396492618 126113618 706856462 545943297 779590171 657373891 675341322 679745239 636217887 109095311 518116948 492110511 856109244 612176400 953456427 170424678 607429035 267298181 766630662 738221319 177318493 474130200 312144806 334855333 499711264 129367177 597792693 623269810 840360731 959665652 540951618 759051207 250633306 154922390 616883078 692681398 396770410 363087804 660082618 679981815 417683961 433462330 988128735 429854249 204008205 401703231 731613972 965460808 302091259 840809547 617035227 264199776 188399011 559822488 483043700 507015841 954726995 780542149 891035515 878866831 248708768 185227912 813538528 425253419 439564338 479793387 874267022 476232900 498935129 609180486 345871737 868744710 559456692 280535945 545042927 724874187 904128785 795794167 140957607 116460369 597872292 877558476 533324568 447721892 897905487 419015818 283012255 921952293 801733462 963401806 427654759 613953216 344959105 145919355 800428589 471615055 183432331 834892150 860511512 432629851 683301001 176181387 104094853 147686154 387097466 401136887 521914903 971850695 484200970 253854626 336895054 653247114 418971833 803850402 352132266 371961555 661345314 722739243 893811220 262210088 521400892 986144846 766767756 867071538 899140804 324136727 456487586 180678975 334705027 711170067 335943666 242841535 473942599 985911151 999853662 752545479 212018616 682428677 284899214 746185832 864268274 799230977 677680063 951716775 366869920 831650483 238495297 212314757 359963940 165421756 608941588 871504575 426494322 573125036 502885320 892562303 341015778 380309167 906309282 328436139 562323424 829956576 990495288 574659510 984720653 324254963 665990955 819777989 102208950 235524952 403804456 962630602 768034374 578856945 607869316 646883478 518110010 753145090 686347904 282980655 428861167 180267986 130568258 986438473 780184438 649162076 488906779 366975487 745271048 133137085 843608910 244402632 304230641 906333540 265166020 561964827 484640902 157753541 427667734 489568776 460744544 534546117 169718915 415413653 438713249 677586497 695712120 571314152 103782501 303879008 337342445 512134041 237156077 280121376 499690974 303672715 890693927 976986961 626316626 903699039 721070370 625566906 578441104 414865275 430666983 327033917 596568863 832618003 866541302 943933391 596968514 958843383 592584630 498368244 872599005 131386943 804632550 381670404 997579542 381793159 192935928 141115730 360009875 215571314 138988691 829025396 388860992 857010312 704095371 869470902 985901351 767058142 787807816 532194336 289298157 310384717 504486029 181619044 554317175 818371396 619484427 500325213 940117787 683178535 925821233 405619241 893659306 310603328 743132628 702428301 444954956 700411724 146448040 943306692 259717730 911418383 311045543 941999326 529974341 934544878 871416371 132552294 459164317 583911859 860452420 442338084 252098480 489489935 219912898 680711029 449892342 437015899 378793748 660437948 242615308 585998328 673791748 185013270 721742767 730615034 853203471 905599359 715896741 161812303 555968345 670698403 940354800 279881067 745823854 862457909 632600928 217761014 315448170 100251500 967397799 585670464 506373478 675507699 720202914 826109266 712183851 343355551 424806756 986369466 844189307 747460489 340774707 264315117 253950896 984980483 761634610 362613941 731727335 780380783 696039552 874059444 450394470 117129632 578234430 714706494 825588628 273155612 352865187 464180115 617255385 779975496 814677238 698935515 364711604 219909143 201075256 353221802 580380698 178024450 695149336 798982069 843819045 275602158 596197959 192166756 951185864 121738908 774770339 206752033 480618413 987007961 653088879 676298966 444530720 846954893 408216499 177551386 632259477 407355343 607468722 876307602 368612731 854958715 681009429 383210716 735777962 414263062 703347806 344921992 849775177 404902713 532338117 773631380 263186135 604766666 789330515 787198884 778950767 297394555 466315744 377636538 414087444 271059905 581621131 925241265 180488627 805377386 356900166 303700184 771444898 780729272 520161912 494793028 474438607 558660891 497081637 312679134 621005043 104861797 441399940 379475632 725685340 471770618 705387578 330853451 110382872 252783712 485350253 508243729 221625242 322777692 618841355 884639977 901082393 671980290 420217542 682667339 549181111 191804022 777216196 538580701 515978663 278467068 146558214 904884480 526188379 866693586 417583716 244559201 266979471 405255973 866499820 283400986 215907658 562295664 432191212 377012331 803930604 134159103 596800133 868121998 731703596 156122671 428249632 225936199 362038761 378470287 296990489 156967119 549575673 295790796 244766728 554750209 943949162 721302619 557835585 508731604 368133788 685213089 904542744 596575454 707670966 410771650 876864562 285562432 767474433 437150318 364428205 485343694 413576308 403328334 884678668 894690660 921000575 838347318 630138518 985809918 868680911 777620678 674258627 477027267 129116837 952545158 908341458 692241252 805497973 921977124 101982290 904298787 696844995 606792269 298267457 778084728 312017955 170540518 925118297 641946472 488736501 183391341 912856741 526374882 161329298 348838550 927684676 661497484 607441375 392851486 671306988 737655092 326876801 277830239 926647143 752797270 701991436 203685537 294743429 148105999 282504564 298184202 541001401 632055744 139813597 971649069 139841496 686574666 656380229 544656404 980680287 400923859 928006331 554751810 294990867 926083183 644028325 188131784 752024114 353135300 180278143 601229675 843905833 587781403 406984972 823811963 956669705 504985936 203823454 337994989 147338439 804318948 539937347 651918346 155172785 544651003 122737572 282530457 146374306 962850389 572473950 535494901 574452790 752086086 134699841 510228787 822886647 483872771 773913712 296651102 724992641 678420717 869011677 292555270 802686474 653598492 594234835 598554884 620123944 967890001 452578671 581650735 690170270 909910890 366510596 755255635 470918418 169050029 403675636 551846375 837324538 720384278 833819364 772034275 129012075 620223864 776062469 736899537 879435885 540072175 727183728 380868984 452308008 396212958 336525971 821371354 139862309 443477119 828313344 679417692 505618718 870243437 518806514 169999785 401711617 796151169 193084744 993270660 235693848 497542092 916172224 589111951 744253675 354482036 876511419 572197069 734318266 610610805 823823929 244317887 561162676 237725688 879883417 651207952 857320733 577816596 960730374 598161830 671712389 385709386 918067438 359118330 179751029 117466337 781063110 523039759 580281379 738101927 108187189 352571763 785289455 268906162 481002816 760147713 676308037 870429916 137618581 146476117 329857459 518528918 200017464 296292788 463102651 583057284 582827071 110992804 724466590 747549111 439383566 306024515 982420779 754489996 246687477 382423001 107343848 777618990 510148194 543560601 185498987 895412791 898067942 976938403 721099596 865176724 484976776 410853832 290436973 784075257 197663682 242523001 829952422 236945642 596208550 223037832 889025587 116224375 813034079 715376179 964105391 423433403 113199938 448994911 213434749 241138995 915403377 715184665 996972432 631453655 188473472 334887928 325456545 379634059 536984841 176059286 606893881 631968272 187577909 432268769 501443006 410537770 179110457 624713586 886500110 223776827 882084327 637125450 384363544 924109666 562923797 708761147 351766496 736010500 758230480 107877888 791003467 959126475 671930225 931431192 658808790 262952462 348933100 493166313 626468055 976459954 666517292 189333793 361157017 164449471 332762693 642879292 489429845 870549021 154718506 602812625 936790883 705356783 981666119 531264536 196832629 820314603 809227210 300781123 745692365 246246202 509418038 988920870 557000398 856382706 620836824 191366206 438181233 339746989 956288558 441026472 790771538 623079782 634222342 910434468 945374056 453557435 992032355 780422054 404370918 331868481 999111433 589507101 587579416 589345037 436155596 948511377 367098613 305722784 154509742 606798946 841908419 373206655 633950443 764574816 345309192 439350612 956297774 551619938 108997198 447747977 945689736 845857831 994994614 433175709 198139399 484480671 410626965 509201694 247514751 160931426 582519744 918000699 644050198 815874065 567909192 363989400 413474896 990938420 146382498 474006356 737170308 721608594 542265240 940259891 710624455 689216634 952979824 862787384 758843789 240595039 315888308 326198471 210993877 362338564 914484390 408776651 374031823 155863257 687781237 207681033 486610721 121693891 794792943 872020373 226171119 768334251 957751555 935846869 717277517 494052183 978640118 731478852 140390191 124633244 440807751 750844911 337701618 234051742 180138313 689871638 601747686 410603121 884310724 991135055 574685468 758118553 578756856 322517197 165404587 526259624 118634932 490826983 593240013 702804394 746081626 757978623 844537405 511907140 143584718 118953839 954979582 132806999 747161396 780192568 126192571 562113027 935631887 822983806 864223309 102110236 363159404 687387143 125365665 427859809 896716599 964582557 201807622 616015701 143498838 771853518 887538554 684605745 346831525 213393223 748246591 980781548 677891143 687121425 319168807 387629137 712530100 807426574 230846881 693645242 500564425 668337053 228844384 702003412 999429421 649226472 654052114 535608226 816577129 437082275 146178331 895627580 692661077 318971841 668679411 720163449 263493201 738813765 497480700 860904237 664932793 718991758 332710826 166424670 858412776 300268107 651447167 597026865 622203720 231680640 907513532 604571547 145614323 941238880 440866951 318441163 804065075 899763918 959826232 872031401 394452889 246678114 998558031 249592928 175197437 587306751 373373927 100846448 450248906 103880254 445996456 862332165 458036436 951427631 411255824 508582145 477376258 492926719 929841806 741421031 668962765 650435982 972281456 739766977 947128547 433923151 387886401 820653463 427176035 885404844 627334577 108480178 791298121 605042373 641154853 220544645 227983565 939778999 574588769 966391348 377876985 852658262 336653114 817809423 150821536 627503747 233081425 324959215 318645662 778644760 656189172 641279280 603500258 487908594 847486227 552318260 943304268 303185002 432020615 746763038 305088581 869274464 660508832 207354123 810753269 429252175 464914907 227095952 824054789 954776507 876888496 693745733 329452627 554080352 290115776 606319307 514789518 251863779 112139184 550077662 554722521 568381279 132489957 164252084 425358223 154155103 719566739 775800107 435208873 690681090 423467462 150434772 624247416 648020564 545203156 513025033 932384565 895707517 586646385 970837226 507629326 830001024 414941553 734756481 465760828 996545194 295919867 671208587 645478428 756469384 797521227 558296377 168188894 462950790 592570853 462001408 382321176 927963099 783180112 418599505 595872071 806153899 455897714 963282023 508258186 878959848 335142794 691647254 561434719 388019760 255934772 958151321 351351481 697290949 731451829 735841884 520406171 323105699 242641181 422241475 475562333 956530494 206816317 432727596 423701981 816471517 691636183 347837451 528874595 573310689 833041552 654230064 220240952 829681843 826529312 321048660 429896545 475279056 679157099 520666369 309515269 533507212 936642645 572957265 272599816 629809304 762121803 690013274 277897663 888941239 527029045 158762546 174950951 967850863 147973506 814246740 636732412 148213909 444065435 826935214 188745430 603328557 953782526 826170615 977665122 395252968 252361673 557037369 989188322 372716746 351696294 665482494 473450460 657318882 723164064 837961531 781767994 257692275 782938971 919317336 253310991 625539468 721406177 743411196 827358032 866311161 758893458 566102173 368444205 941726748 628135078 735665792 260278978 781589334 139331846 981195744 589016150 361294274 471337354 401925589 781227262 410392521 491332467 915455908 942335691 690213700 117241063 197916032 812568011 229117095 600997422 887322297 459005889 888552019 671112414 693985235 970412757 888115540 990510327 552018234 775028472 948898429 348630239 315527931 120066782 169768969 868778791 566804004 336156516 702731445 395806168 626794660 689802229 814964621 896396769 614450233 474802002 670777810 880272734 339782007 816054314 810403559 865729574 499036048 721994527 740205806 268561294 662914296 224179220 856700795 478580193 630275011 350255425 420481878 768631420 869955136 960897441 314663705 347885870 180095459 108790755 426086316 239676118 501858377 104815792 953917918 254518060 355750680 914238586 621383510 937672930 522484953 976555139 566109670 893853651 373058603 824669613 622671659 780153809 991893615 235474814 880327907 677538918 843778145 497316603 762483780 361334524 254171068 907728119 281856382 164372221 409014382 851541042 575531666 192734586 647279357 388370198 354224242 426293336 263760041 426521835 359745727 210222799 724242896 915412640 733520732 588293146 533713000 618243142 247886019 246601591 194910239 552509814 546794099 436120723 475456329 338426114 993853881 358138260 644340269 544843709 502022854 558519561 871089317 585984187 532064828 348624980 974044950 444137069 906029523 646531473 901736861 977631209 438449446 131248429 271118773 180924963 908226585 745747989 682094685 444546219 728657057 211464681 209700846 202954822 818269861 482845190 364220893 556394546 493911868 658900449 697254737 776019651 620145315 917614180 765190086 140727750 992398090 314845789 682455668 429940305 332466919 390824678 756944755 214394464 627789823 794972851 792512763 619135611 426298436 451176693 339355235 746336456 715404761 351321578 889363459 382952248 425284776 950383536 287150860 413192560 884473984 374643312 734178511 995772912 811173567 917459715 682726629 467588597 640313739 523251414 470803996 749257473 267354699 909366179 772827886 387469966 890977474 441596079 735342769 451808732 257653324 254722374 411893303 741802566 200479489 226716023 114279827 733182901 497242394 351805909 192130044 274048992 234263719 720433467 760577355 267100110 806729827 357529703 190427987 862329821 223176773 189652078 245552256 854840356 259135264 687385890 673695724 569698562 839437359 689723268 519985645 259562096 453351379 894911263 847081441 642658990 467345173 789541193 785207055 981003701 575711171 955723662 195479643 979894348 667404526 805282952 844204393 922099025 905011054 471835209 625240457 856878324 224016187 764648385 685021810 654211402 757912211 392065379 462018957 689877533 490637750 927203689 450528037 197072200 602107319 920523691 736063695 830928682 135231585 875073881 809310194 741328415 336076482 475257077 403803677 477694159 244945161 970772491 796469486 786625111 474608406 368007019 195336046 733826466 485809230 944007208 933647075 490775753 820115589 521328729 501228565 822118790 145798146 207603691 708691084 600644551 101648182 165743709 570208655 689480831 244272740 960035174 470368518 898300803 460919294 680883776 975566898 992066767 155876591 553887614 833802726 128961903 834141256 834233631 510311652 839983044 792425552 437348894 685490784 596989760 259484278 685359721 818870165 888977671 468674798 818913999 897453492 674325585 470656678 466171650 374552199 736551131 963028849 229111692 977578314 186017085 919782486 647842735 124289293 684333024 861527016 241089451 716384457 915122683 584792996 725638675 794541129 774885669 750648944 800932179 654016070 387916110 751381845 474697802 802921818 339166328 422181230 862170026 907811836 933150802 896445279 395291452 160420392 825257527 232537313 548186453 581502419 826761448 311527545 472114032 908840351 367150262 780343499 257140123 291755615 185062102 245753745 377077335 107336476 363264345 281635791 390517030 262635283 743386032 446172272 899115924 229762522 395627507 766578366 624465646 780256280 660163505 457413873 905619344 389417880 895596291 776489716 652470841 688747121 824171607 460024746 443435306 975792163 530611232 553144067 268397552 631170070 245485005 504985634 682103382 828005017 667991170 500935971 373193003 194700640 640812527 548721678 586361648 767900410 630592908 296821285 433513037 276536156 385340781 550144138 918252772 132286056 761514667 350764412 468582661 370600795 966971584 303805069 692203989 604347245 596413499 260572773 344099625 535975152 991523987 854638073 748404945 245365436 614871841 423569518 447668148 857265480 981821223 560068934 668707047 319459973 494252361 666738615 999634467 534578448 491836265 465737087 849746674 786771356 682311550 811340998 898094293 897814202 694972881 600990069 803303816 222325557 596286332 169324013 200369572 999199597 431224358 791037058 925618734 749040234 758300127 283582967 958851881 526867927 468878081 830938119 652596627 845620488 684330588 531860888 964563196 702269892 147610890 331279332 113629197 788811357 296628528 304920295 607790471 857780020 111769607 800015525 580383374 580562329 176936066 360012417 980527892 559982965 910397683 351679833 103405162 309255739 380060113 549917673 490602666 108608847 595965063 707338777 640875077 356950428 450041729 608003174 630992168 789620942 769036301 865600909 347305397 585036634 396882419 327122808 923631264 941264246 949913925 199993159 230589434 392955556 712975727 472670928 655660083 649239738 501805729 980344638 466803799 206118045 860839098 334797659 342704243 796684229 369676484 863121811 621839803 569491037 332949746 715295991 973768263 480515680 898268869 862250387 297272267 207525348 854016617 725928642 173814108 433596463 479781026 544220145 618053841 915070815 590536999 794286969 319999274 336401005 797816897 773325057 893482767 731544710 276652160 871193010 886006662 102441162 504201157 723448057 798402732 491161093 773577979 483309500 498534174 980569309 200979002 700639928 821585135 739371029 647365484 709099969 993151611 912292381 159995856 566268431 536183744 928380071 972904617 857803582 772565667 759154706 599662228 515922903 451733544 429332335 280869365 407634114 832091606 603642250 604435272 511339234 517055122 621654965 254270397 631892774 585873432 389719450 303391439 462769461 446455828 511846183 456033475 425112445 833936480 742827916 507516319 781216051 391793641 827828842 465200063 964158321 266805897 449607589 999954363 803868437 896240467 890154206 175027889 407385283 487587710 119118008 918702016 113785881 974243510 926880602 338375095 196778222 428618886 948980577 560167698 642792342 284166595 892101777 573633967 177988060 442877589 663541297 442301053 125401691 743269704 740577734 333796361 648710457 682893298 543545221 625446606 872402845 176068886 746682891 243564006 968871432 461442526 490128892 446301760 380626232 694082208 249272396 692902646 295771628 130254458 706001753 627501056 647493712 514105584 411352814 189253560 710504744 909095231 173619915 172840171 715558391 754056682 857661425 155554245 970705938 391739153 221287808 966048828 194114312 349085610 663483113 528554850 700414385 474669690 430580386 260761668 584795725 654510695 333005169 594381994 994268841 166660936 504083582 265501731 669047808 668106827 203730628 646759059 526816447 730642361 479220660 368741096 181257207 309965158 933048260 979499474 569289771 294719022 147173887 744750920 923091194 946132580 637615949 488411383 740210670 205227536 969702752 166233068 842162440 165455002 140919123 364338749 788822130 450015000 379933055 870204468 186599386 843682819 419719743 257859384 639984890 126445168 176872954 260254349 192542614 393138693 950178794 578337195 668041677 616777180 734476624 997414674 292408683 122677117 455580931 762205349 699768499 340782454 692926933 672270698 194285120 606153585 777777602 432888555 654526900 244791742 732477599 751516404 547185088 418834523 992928216 232042025 560096919 795413922 792565530 189902840 765311264 438896512 428336285 801643229 155802617 522092463 750007942 423669472 330740763 313646427 652411397 300444171 455169210 103806064 758575036 469257858 197226640 510352270 221940774 656362737 995215809 366166425 342751612 583077299 201862221 889621772 102748522 157437848 465856732 102493769 299275355 772849046 448236825 408974413 193114887 720766339 920303635 254477943 245662598 619032103 870261687 193241899 483786773 292544936 369547695 735360552 456588875 511671678 482180337 988083113 804808914 510371695 607844971 363066228 395038456 416262091 600104235 742056571 396559760 616762489 460882965 553599942 539753729 519807947 708744142 168470865 160281616 298320194 312691695 287549499 608388748 610354927 183138855 376692004 785854153 319364141 713447018 862835197 802335103 401672325 599715330 453498691 232403230 704775526 578530840 330943899 669592590 938527151 701591675 608978614 160175752 575214723 582153892 995663610 740225059 262634137 442442591 965700009 729129897 637292622 612557337 419005382 834371368 320043299 524635831 880792831 963641276 855059234 239626786 634507690 316290317 198357544 931278328 973815364 644705747 218910437 243383594 200588448 184738122 902161562 849651109 171418604 176002447 254155336 707080498 342719902 104079764 689955205 198258845 959913734 943456181 537817135 451373120 970018816 616609469 195744798 428894648 422207663 986555951 851017184 458051332 984526142 872102920 248170767 284869103 358365790 646479830 433236899 359353054 783472728 576394185 414830477 983772311 340709371 890454165 488360350 631683361 850341327 594551084 357211824 260705836 963171207 624072094 418740952 508166420 248872410 488077547 460571584 140072050 253193379 884109936 705940372 959545268 945438208 555321661 225277122 376318610 764526001 785260993 366190068 789876206 866422566 159954913 944265926 168955361 229580884 196925137 431896994 121480206 473546058 552845282 267757061 860266789 812629093 977829950 140270629 225924318 160865076 951942145 573434773 661525379 804091337 635659424 301304805 812913352 488735786 327758184 888238157 858391557 446434191 331401451 815444464 920291260 941040494 552454176 151449520 414363617 209834054 507035909 479699083 797073188 605553506 352900399 220403625 830151242 382941058 995255335 346873478 307715284 981562966 165433860 793638692 411485606 160517996 618833691 873823696 998589410 307914123 962953391 145623446 359325675 588082186 242442702 430819081 278409369 869281688 712735327 460800538 974752741 610976978 446047979 214153544 199308829 151993287 250538436 421545148 392618608 277952601 960775183 883311095 895487424 961745731 262653523 408541819 484963666 789178295 514723106 354735819 814718547 807065407 940009993 470422796 590700389 214804423 861811012 295498964 984331919 136938184 893839621 309282475 473430151 587237923 615147847 185965239 586133292 135158067 200994294 870310079 788192967 597357282 261142011 450360709 544435310 649083195 722619843 602180179 894674765 936389662 624210170 615104704 144178290 706446392 631763659 421466542 694040660 450429887 917315889 929164003 905624465 268438836 945192492 692907490 139738741 938233766 569108503 776667340 355911251 657321387 463499812 707912776 601145221 498921527 128235928 875105448 623553084 500392515 879632480 314227599 517497184 763234574 347168259 554430503 564069508 401225141 154424252 763696184 467336583 136082004 689577260 966079151 414444925 917940170 515391108 757728639 447463847 272152826 899807382 668218171 926007064 912777730 133184595 463648802 952276380 296162849 663035889 402710370 753946596 303386910 868434344 562498995 624882283 702520853 901070855 874566041 294984388 813545586 509626869 313922499 144598002 308287131 390742512 972595125 311695537 379819871 300887591 594016383 366688867 410876286 839123448 568658612 308531072 384909415 526632294 496835622 134492558 184519959 272940102 975198752 362844944 145495177 510990513 104288322 456100859 957180733 754923337 331098876 341043012 808634913 498395226 741414245 641302388 910463547 247285561 300801305 910140325 285626077 866252382 499709605 434776163 193494753 444034543 567059707 852389760 374427853 482382613 237048951 492768329 865397085 831415142 343009561 939011598 309621150 675546103 679728924 809871382 704526388 689658413 386787111 628746522 280617190 844264422 916688123 174759500 820154474 614778574 449042624 110884987 678893005 501720314 580827369 770616033 398905492 336267963 280037131 425644160 988752705 249618942 583424104 768684078 262618071 850994202 829501340 265422537 957335109 595602285 957683953 188513170 318233153 244887848 988077567 392380125 720150399 649407356 534605996 457131839 352452504 842838401 604403983 494281593 874106765 174099130 685449927 823099098 669010927 380463732 907901359 389757108 621029117 862681102 525864576 193109785 658913797 909177148 682743914 545961024 593234429 170438382 151188664 100088934 136218395 895598576 811607525 719378872 167289284 830200588 194985134 141788576 329073678 636018400 573657629 237019542 149750471 605648945 791310542 101289121 705049263 672672369 526538567 454410427 414271282 198730990 246721069 347841371 267386671 351697087 170245961 532336805 622522557 236038996 811012898 978874307 595766636 713975118 196531589 437354677 906663620 364487898 495803943 320255650 988339146 344367299 380857458 592238606 901034784 880799447 446011764 980256047 284934559 701042350 467898627 680845365 315188692 644954430 346207066 379617862 249391742 204802191 747468867 649955149 228566421 418320873 403496726 109632068 516157151 848850216 397957498 509439787 226100001 596401510 907200112 378984510 532217053 810325972 456822169 254291951 331839953 715313351 677125771 797122920 902603534 768820605 286363061 222684720 521330217 776707051 371619077 155899306 682547877 689036572 610291773 865169785 373536225 464901426 456817708 943775213 692701698 445264733 810786958 905013116 164604372 243812873 660846195 601739191 123861103 565144724 856034670 114421870 532161016 699435115 761781168 864686152 540410658 763625500 791184135 325066297 714707465 241016821 661779982 906048335 302579850 897396214 147601574 905769829 867377341 127795619 669471677 461624643 246798176 692896305 870446683 824136894 983327423 154683533 553417778 812791457 316799798 874577513 203585370 574746831 747263974 760918617 548452765 391046597 428256395 120260105 295753840 973152762 196917211 558790409 173881595 936397510 140407043 186601332 522851162 680838002 812641405 453720264 108867939 170819083 136269041 974712426 558876590 893097152 177492435 821826816 339422372 813433762 130442803 963217299 520934458 108243672 897393517 830584901 341297107 382814993 816708531 348620446 100818970 808364075 912726788 698976527 348884571 815622202 653471225 337875981 649534769 961801610 357633866 609430257 574820456 130866644 480600824 589786664 273063732 812047691 175278742 721505539 479235731 436819215 762969512 777666070 911215488 870356978 478228518 699967743 728078023 317447812 153229388 312333130 975947204 727663329 252622565 419930895 418956364 335928044 829874476 287279532 863407025 684814951 976823437 463437357 969471310 107839745 629396854 915946815 105517549 812245113 373433216 647498813 339717969 811162605 344703716 429798471 828435310 544232545 384896230 807351635 996322422 321638560 768493924 979925782 985758360 562936204 175192785 592803612 360527521 261992287 744144284 643946414 941772788 894203656 449978904 913347274 665465200 276041329 712852380 298465210 627874499 199009490 229120162 354006230 347631981 907646292 876614615 942555511 106968971 688857767 717532552 784248862 267481112 371571684 200987805 420186810 351609054 614025863 592676565 178958798 919105967 136719395 127245571 828105326 297039588 482830570 651917771 300152379 273872060 476906765 441606110 206848447 734520323 396516293 242828044 518807842 197669964 462533845 612784666 664115006 500491336 122977383 541251416 468180423 835493631 467384231 753156691 687362254 592572683 690505761 155363240 823891954 591426475 777854471 929756185 346679624 579706776 182458487 413790426 557977828 727531734 105222538 689312938 484468583 775141360 847042068 851045103 210129342 958953435 305671333 276778907 115963476 144844209 304255835 176634362 184354642 630042240 128459107 586534286 884794768 656102095 700523235 241725195 162190825 263084898 624072572 219320654 643749641 299836024 245203430 665533552 542746159 786583237 818427303 861949831 732794595 965673388 974307810 809892307 529321806 960174396 787284264 497992710 399755696 156634228 457761164 231781866 162377723 962903982 711279755 622082935 425683148 819474139 420490367 128167970 679255659 524714031 289329620 509799286 647059880 290881877 914869616 852962982 799399222 357764633 488704672 134268454 293220682 310438113 430396708 837023002 663354978 221707797 193658942 257114279 772927810 743772057 216390224 778054189 449331174 464838577 926755606 617845867 476939901 448370399 754457559 558960195 889893973 851979855 789923953 666032820 140989852 989698021 428982461 416281799 563021555 445785054 903321921 444990839 222811702 978212458 887015578 601491124 779824952 617069055 996447936 683690648 961315822 739371286 658270303 828719126 398941137 495087502 125602310 961600054 844764902 267676600 349547665 156317427 978008607 337581765 886503616 797313664 733918346 801947225 452893737 252539627 328340506 655148765 414067752 786066262 833015792 777823479 351013784 669104164 177546098 813988860 426088901 358573977 277031244 591707907 670768486 203702232 331951040 551895784 216393431 879807779 651076896 451883610 568149502 461238898 982503402 355701793 806067775 518058740 415369899 594451225 420596345 618578040 530369373 640701462 790295773 905177816 318214061 449387845 371568540 220209443 429929611 831564226 404809374 417722825 169063058 407458398 855042003 750596582 884203534 961154005 413710855 104002877 301234525 550520404 833897631 978094080 591227979 647984225 533951698 888476450 565641591 717584471 153282453 119379630 461202749 681635768 627274859 853911901 780061330 829015615 835500931 614451682 518575945 480607065 708078819 892155603 266765794 450522054 691527490 788456422 111581282 575230670 943852880 732447085 777943631 234363759 304691595 340695034 150943895 895295721 948648102 811294208 405915953 358941738 604464749 730041190 864932070 646686765 568587493 881401931 958690841 309781399 334548936 207356714 285992548 928482966 508028225 482004473 230810898 776396211 318125235 419844595 375695551 339903980 391405234 435575384 808152556 771647201 121430222 346745503 701979982 669955873 516868615 760081800 756734953 895102401 635518384 784948498 455266684 888717214 458294607 103354890 299793847 988298158 876607317 525603364 200907077 241837455 442689398 263096588 406767662 689911183 275208203 550665204 309291562 402533386 639828724 736779608 866675469 535112089 533259298 665798944 577684191 419563594 736529183 489874484 902107959 880599059 852216713 989235194 462777337 550623650 566465266 982974603 504375763 618654797 740934363 378502395 565995526 230101385 310190527 853220760 328005691 983812475 852784304 740893307 524445593 248346216 476942862 284005246 674907934 897244333 815760226 813243057 553073998 580445907 702718350 482972154 637471417 805540251 789235591 163389424 911806678 349407298 769958375 801091353 363638650 329519955 899906088 758880824 140278746 130058248 643377583 914124875 654903944 390736772 526543069 795413894 802308157 139254376 579704818 830983933 935372718 605128376 871760387 909033801 898544975 825429644 786360514 426988511 661338047 734080443 210257590 310521402 455269641 764327009 170641462 575866925 699874512 254118608 646681753 460042468 277773063 369175634 975769863 394098926 497534637 976050882 760449772 994171855 192438241 508255287 157299701 524754101 485168418 224531100 937078696 790838520 232351342 611416129 755992892 212179870 648868950 689683455 537798109 790440069 525674183 840275289 820363700 920957449 486975882 292979638 469662833 604470827 199110813 768302526 502984618 472611786 125025427 358805749 517279164 841923557 922749382 186603776 131236200 699613921 922351212 979077958 352342272 953365364 730599556 484890361 731991475 532801137 849281746 928793982 703331900 212909922 340828473 305024423 943381665 217070048 564963023 838153497 130934519 971680775 895787725 897689852 627736040 988145502 269691876 161936044 768897327 849162795 713116301 188973327 751748789 883669716 943836458 238528180 177594850 990976431 495553219 571758218 104894669 658822189 280756076 852467124 859643373 731831089 372237946 501695685 673775463 258158917 537287192 547227741 266337117 375768628 869486866 137846728 627495153 752286422 690180038 368093734 452161840 317927057 326785208 717321158 184827443 345116842 666021514 353743934 723779724 404443245 524162439 448729737 686497902 291917408 263142764 295586919 525571013 541627495 929955429 463742947 616656266 368725235 298876572 915915574 143327825 656034030 308884281 500636819 252193574 406930020 684938105 893154488 300160204 271947490 510768004 999929362 996045910 439875502 233217316 682472684 637600796 856003015 456265342 172314931 654166530 955832999 101978172 464385660 368510829 995487414 596852297 816399908 649106284 824023971 284215521 243208511 498658781 966973113 404535639 747495225 955451884 672121080 442638556 824952268 109278487 602919735 403438100 842188387 417488013 536915054 892904755 220109358 585610804 238884287 155461035 468059709 366252596 528316041 135942085 801701434 222373212 825712630 266173374 787341555 162779992 611555113 280319809 438467650 736572561 186276702 270250008 921039155 971703661 912974535 428385914 684342634 965855928 959943327 693952388 526856409 124963833 988398356 959598114 301418239 552269133 142401192 325912310 994743217 147118300 602388628 461205800 603540878 905764239 461232745 944786109 839530207 469527416 602046460 806159812 873756408 152862006 112610712 990173602 767868632 741664910 866182264 161779612 851216893 239242855 218677877 162321506 267597324 675842823 899197381 916090711 155355604 495457810 581621701 859945873 715062316 140159393 800900599 673408409 163380166 370210838 997178368 108211280 693843751 998252087 953584192 520630469 911888340 326929947 407363404 635857091 170626056 556884161 677840746 415088533 250002712 137825816 937831719 723384286 924687647 804122625 884594459 554809822 864152265 427717682 346161174 863341067 501714617 474976014 545114571 624201991 596138152 293106493 875165610 581363666 434479946 286162431 735300437 579465963 452901456 234957881 571846052 929640028 254873058 353014793 131160405 779247600 822874010 929249896 479094055 100627073 176407145 589284173 152240999 611636258 292900603 444322667 135609570 655634879 789432019 369996930 818482705 697353788 398778044 891433682 604443539 227708636 412556895 488072831 171837572 788576116 162554927 298151221 430127602 693915258 752548873 297802779 764511844 502842374 614902161 484100226 201607083 795671124 775079475 561398492 428836747 871204600 561878504 626647629 461129257 831465350 135320467 488858727 249226785 826509627 128060946 809327467 195637121 862953588 829008832 642042575 749559984 980742499 875365748 713006954 763219154 325305000 654590462 332407908 383964993 598716718 752370663 811948668 655908884 750501978 676200288 571184356 198274033 133296712 559414250 806197817 686264324 101210304 225948523 551516077 153535264 915110577 572038683 730595382 317572521 169340654 762623897 607770105 977695879 980544773 608733560 678979157 529515255 141647066 149576750 695446213 925249317 520564028 864258365 831024597 290471803 484006086 259176844 451677440 543864047 474327501 829757467 857185087 999822045 810445076 734233799 547183280 759230740 425063184 411982977 994997370 971353777 460590444 901410284 294625325 759292652 869466856 392764874 862872552 758644663 303466165 115884181 932912384 736723458 783906802 158275940 954660723 438611786 901495421 273178270 453031588 777518730 880787657 168468219 513262119 760611829 439117008 943907851 152854923 192404639 621093437 284915921 954535526 535121829 588784357 920234870 169398700 793822930 524833997 727790910 862185876 508764614 455101692 689800968 181511631 412718576 919802514 892371436 627214815 950639195 467298777 870595611 156892737 316102952 225101302 261063923 732180573 719550707 762467411 102195622 323362073 457270220 703231485 654402022 882745099 685426427 293007634 464894129 161547705 917117960 361656757 358006299 477193167 528214481 570616345 118147218 273199994 753999477 553560659 617394509 833024045 724959455 833214668 235515768 146079741 529644171 489729560 280786131 455164659 368609268 305637915 614810326 150980330 878982779 855372581 247188888 917088669 841258923 299297612 273567246 433616624 821449461 170043554 813063072 870080157 567066774 425569056 909290207 642100356 576293804 652689694 682727872 297823980 806474810 379005013 781503701 760843985 250159047 277530921 725246595 411104734 748644739 341822236 308249410 114398625 940476462 253800817 880561631 277863674 964844452 168084214 541859257 969106680 364817868 145776671 119316008 276184152 542710440 221967046 880803849 553480055 947169021 929575062 952208598 750407698 456089904 990072054 663775682 562691774 982732791 156444537 849495070 948012811 597521198 623565725 440435945 779791500 423006277 823060977 702060035 202532022 874275917 905029346 279932016 442169591 579766211 466883408 752307767 948758541 954056890 896093445 698794540 414973386 625860919 732065484 533398580 673268800 916916442 829672821 499866843 985261841 384875750 155478705 666987522 267861291 572314550 597639271 222204545 901739012 552224610 877056191 391696852 964178722 388497476 562724112 985334569 465465957 250947578 559889934 837123086 431430898 178145270 609333451 967823151 115974024 802949741 310195794 355522363 893353715 705112151 603077311 149230502 381847049 679880959 972541172 315227871 174716005 361378053 480906994 676789938 375074990 514285916 200909066 227564745 546552054 461648762 347221742 584210257 451749610 912294188 565878139 168299986 856847392 242884268 804849137 512493384 753606250 598679836 747761137 960754120 321813566 351271306 970870355 539764141 725495919 714148528 375532391 477692759 752913090 484038770 892576477 154378816 775342380 333044703 867622035 505153561 778069235 899753467 304287282 768072415 900507773 814070540 907565208 622627072 864973653 448471526 396127422 426663208 962401358 163477182 166646436 210827211 572297704 737383800 397984232 949686922 966250350 469717458 868290144 363368858 702848417 173669407 328963381 964057184 186204190 633732805 780779875 604159832 391686386 747391502 422799165 489268202 143244725 522797005 620857740 130207537 672923332 797496089 836375318 989535944 837990689 615050808 663505372 939584024 326694843 263838090 930524394 468191562 262967925 368508444 988928269 639568781 730422459 644711338 815523116 338384520 377505475 372108458 815647371 251519030 305822601 750884525 657430423 300508806 850280233 330188668 993214976 644617124 428559992 493472469 843920873 976888216 734584941 393167046 804329202 307634413 250672075 652631222 920087425 433884201 621631358 594571695 471197475 555659703 930025442 725069945 876932150 635449648 660225516 897784180 197549687 971215597 729973186 983749866 572383987 824344023 730711402 237908727 635536645 867848018 161397387 130609367 818105366 753100569 558820343 962625062 887913291 401402491 975339862 401551831 519515045 907125718 268635020 470788508 211003802 671949632 162813731 890563720 654993778 242226666 147063987 662796119 661898306 407779749 773928618 975760156 433428758 483353264 427521667 503737148 660061628 798335122 455506468 652907789 593777432 561905181 311806114 962648994 511332762 152151837 483697854 389767856 668807136 284411112 305717045 886501208 203332116 970695586 359476425 798045834 781850790 907275962 751207626 419856119 410539207 458998535 530125603 581036611 366383630 747211112 416816423 291821337 109616449 666414267 607826050 173300298 243988484 335415960 600823278 723005387 374496412 448605882 529906537 964960310 561128378 253611850 486000373 922363097 219655719 253967881 832538135 929192418 267667549 513831835 274834450 620783592 340756828 307998163 932090054 142786516 957262752 958948690 772708320 120424190 573120586 115299248 156878505 618000401 527929612 717827035 468175355 766853770 174715546 371797483 276132196 264358512 542993678 613836845 706908325 800000596 588674319 555761384 191191847 489498245 726924267 459421905 567169868 595829307 178736892 125686740 586388999 767155449 997240816 829314441 540142166 997426038 992326440 330304773 126708542 669003479 313730401 104711154 459072703 194012814 218568801 891111283 474588743 699595678 817881454 281827614 293139724 556087214 994957543 139133563 666421647 380781358 815699931 771594088 599794131 663697204 623319093 956716500 451653293 855867147 276939890 698713353 383955867 632018002 797904379 885697599 373451541 757183871 542696516 529865205 438139592 331006641 480515778 864209096 415650662 346722166 782096916 990485871 172208150 368044699 632241172 342064797 705255845 563325776 319606270 750306189 334414459 540715036 275153450 856052432 859638382 465327011 762039852 404403343 774847233 780296799 285537557 443373828 258365511 560227657 269584330 650351882 576226828 105844959 324755230 924908206 119932822 785317801 312838329 806536650 350006660 578793500 255950552 757497459 974556307 187298726 200786706 330948116 720681015 791566751 362699842 139256664 134957568 343845794 440269982 352948795 803510725 450345996 606263691 920190290 301710337 292276427 248870705 925181144 914214055 966670564 840199677 780828568 999223357 421079055 492891814 638295596 740603783 434897015 175555936 458239657 463058810 587090455 683095796 360857360 581335340 989239101 353908548 869833067 327410760 556716694 165997427 476902629 837233736 876923997 843395603 335865845 955053499 350707251 654547384 960117650 321205513 215828904 135645517 687276038 696235535 705526771 712970010 523584732 244185918 807481908 945178868 846081837 962653856 797184441 736704824 113117191 450736900 318458802 305005647 248670236 942509387 321859649 713077232 531320318 526246114 636638147 136889396 371449913 844258171 818120054 372526541 403738529 803976128 444439444 765408466 660436597 909862790 158243940 927428851 755629727 377579564 635764461 157848881 802590297 389454789 152355635 366035770 469207914 544187155 720890420 476202688 563779458 702144662 569778001 905445734 620971942 658315594 364042084 247544566 736152057 467778217 606839395 335605366 844945594 878785487 452470165 579925517 240745272 650100776 698550204 153951206 203172766 394833074 130495084 995399321 650666894 339466179 557797411 117951053 483680532 222722715 274989373 647808663 402623040 385205353 106744012 917265827 746457055 725661373 944777654 522836395 726636228 367187514 516710536 550374343 524570121 794020704 933708069 397887320 336348672 296153676 470494151 569874726 240676298 942176187 793900515 955674817 958047331 775149210 173019117 791020883 698528783 276057642 363608847 455344281 988655509 285868361 175104924 857777088 635346382 373314273 272759647 581596297 376374548 935889770 153611948 243350309 326649804 217834748 116790245 508791249 319424672 709193226 941953876 784810577 722216311 643722230 980112137 449345494 752740752 180740658 918404544 154227322 131124990 523431288 451197771 923129751 721946834 902310012 954075132 487364891 297536377 957444805 965349915 268675734 544034736 710981228 895038603 289508762 978443591 662790163 998223274 144347541 742480563 174164339 790470681 322599398 223053540 894411127 720867129 178267263 879232807 340654230 707956666 179017498 621166034 582555534 128899216 283475198 494390240 211674150 539446832 683005933 302134193 653112256 905094576 991156208 113986701 299059472 904308005 716908061 535473360 232786833 288419557 523949063 999793169 998549076 121754231 567940768 965755196 735197283 508822132 716372180 976318603 734711808 259785752 137150591 908893177 197627027 264207143 945946307 527670395 642859583 106775558 507042114 432086007 635800076 138597449 436581650 640121831 347506406 529892548 393757496 235418668 813956639 434301914 423045590 356526931 249965272 827598199 626316963 917574860 169299414 955451500 883821746 149229615 466943929 570218847 521483075 479759854 960979193 513967188 701007718 455098997 292198733 841866809 801719253 443586174 817459857 246175326 270386647 312233682 649717321 177739861 877232819 509524520 265405707 651344852 946154804 672567392 124285379 153986267 584141163 475963136 137415862 228617696 305388754 524958124 503083555 723184804 508514682 727104479 610072488 622781109 255262265 352970868 402103518 763251017 117250407 504781710 165276527 991884206 713041438 432788041 729625277 414911633 938527779 700064595 554300375 471791588 586651047 597513367 832082275 222576260 708216646 604629834 377689405 874791695 742348074 153477307 542759574 771734169 391239913 378965583 475512516 125215920 786945990 436771426 422387784 226680913 776884569 134324373 405138404 181152928 554955944 623637347 162055727 426778402 985303550 621349877 685768043 740640644 536629306 822428499 657785743 213554874 631874261 728770632 299819513 815535980 879951674 645589872 648449671 183379407 706392986 524799435 403275889 206601691 167648636 336724096 751782859 936814843 827855332 139249416 876457068 907732934 570056291 650462808 294381219 408968950 740997005 526415899 703857243 603398301 200950694 434921159 525271231 852995907 418376935 711839823 603141468 390681502 639537976 109825999 207259016 415855837 712665778 638742369 735202782 373420415 971688571 469937304 269789971 909451609 338646692 706232450 792998058 595408037 837246070 122078437 367701742 316877356 376609321 513397811 376072061 667939301 731543736 930562275 127923133 154250765 192800419 261191795 264733678 217204041 576099729 618210033 147806870 726407181 700476965 198164341 522736763 119208573 498559506 226843027 380850831 421896065 160733373 755015205 968607568 493414539 478797001 547070269 555975241 911869117 686084612 525168390 142425718 565893193 329006761 117189248 296501746 558388297 964727236 266171500 664807703 398652099 765956052 708655699 373710375 390185845 671392524 484899070 827620255 722387736 726973054 825491148 990490850 133030935 443699262 778886417 275388114 532899733 505870679 509516241 113087741 686350891 539853384 659543263 624789143 672718849 210658245 644974718 133513025 897716984 917864897 701001418 730624252 809258860 652790660 311574191 156887007 488958746 208359436 494458407 541393299 568828980 707359115 947588860 716439455 866256340 304388125 897658703 551949422 939718333 539056585 594127114 801192209 554167936 906708111 273602222 455741655 806221125 551674638 283566089 903584053 612541130 457975459 340740337 756124268 649490190 693815059 886772121 493447396 739645070 365917841 476044246 342651370 556240720 514007062 138161452 861320004 183718851 472567702 840035124 852621740 766929992 305423483 349622739 923406783 105143869 784838168 345845557 827499597 290439852 100435935 131574561 782105207 468186117 657127308 367723130 591965029 727778918 541107788 818660785 405960128 657786489 700200497 885155914 531714329 298082189 648457278 783055955 740869066 954601789 854321480 861007708 409686113 286262338 672675659 242167872 263421614 391171626 763662300 852974140 778881340 757297857 203739658 292611597 866185350 504705365 370979561 745257013 680598759 323483222 410286129 772558721 975284088 323691571 852532841 393755226 415425463 280378704 213674537 747006851 652319863 440622247 128865595 890375457 601892816 333328938 835313169 123376887 208481078 179650156 970365951 650275228 262088551 393014135 248512522 137105886 144250555 111643063 913302169 988760301 378882668 102369974 476117759 871250044 866893741 800961020 457300764 688617154 563054342 493076877 511680591 840625409 434020366 898724631 105705344 942078300 174052265 531765758 996460144 698498314 846728096 689176240 636739008 235205793 611441725 779708768 628910105 191060258 226304412 507632610 437582460 294513690 282365907 367883690 858668260 797828559 833995121 774292559 713207055 307860977 301610163 927947277 704109330 778246844 709002590 368578532 122654641 677463829 411411885 949240779 253675640 247124318 648023313 348740119 464740896 450286835 186477807 505339953 237252540 987076992 195773597 900365993 151080682 428651656 665652763 138646395 339869338 477316239 190769506 860318442 489936626 502869430 505870509 718525161 841659635 403078578 372518747 129528991 273522511 746718863 146803922 305666604 919087389 558424479 644889249 150139464 434802555 406352981 308211282 947194609 115953995 702338749 814155741 201493245 640251030 536885965 322236630 505208182 540327147 496506826 841478682 679059905 427331012 141447629 969634209 154214329 462634022 676446213 776321108 530733732 672006655 961098536 540880747 826555054 768072320 779773326 276199155 226158145 945025430 652496036 817679322 512847381 460147801 794885164 738362275 547433231 877386783 382344262 781977857 861005505 698283861 992994701 653259716 931115107 399037409 503114450 725220116 707884244 609571558 797083360 961941426 919020235 380582495 462652750 278371519 525617335 932225922 715929421 732066479 407608637 857466919 918719180 958322976 593006101 525801456 171440625 356765112 617027610 218599604 491348271 966063270 465668974 737563144 344750170 460515574 140020398 374830199 118316133 576736497 725536572 848743061 410957337 251106570 522902869 466232687 471641127 412262810 577523236 168146172 836575517 380057911 212401937 387361690 336656497 262073553 376104693 703248561 377947591 556938635 634498982 327841001 818793604 169604464 542332086 932159823 984383942 665528469 851470453 104462877 356684110 507136705 710087831 126319453 676679104 669401428 880090564 299067854 812068143 553121198 198921906 818682116 385213646 376433274 870769704 802865561 352757156 894127162 319378110 660981682 537547526 129132439 999825296 919072929 407823531 985952188 248249912 261742259 158077264 275424404 826931840 442759768 472905332 985975621 242856199 379326078 914487560 794422013 650120806 293783695 892048849 205486661 257632569 730564975 999048889 867444948 468214065 776293330 695501875 161539611 975144671 455238973 415601268 260379429 130956085 394661144 756411354 605218468 331397270 535630956 497583886 986585332 351726017 502822809 544957779 850476060 842108560 310417354 663872257 960410603 524490986 795461785 608010620 697528907 752939072 609421473 621437275 171584052 907959570 474622973 455636329 247109811 795109110 264081016 787040490 703088997 591432369 534841041 739050692 219186410 418563220 761819657 814838047 244399559 271282259 691637575 730395612 132213494 433771327 541093611 270164339 625436617 507095297 997343038 626261427 668970409 740228121 888934586 751993232 592147852 113192435 756754087 440667181 388881482 267159225 610174218 176950764 818755972 685307647 848454613 239588791 149302339 417692507 244166394 116218951 458695885 500423200 470967794 993793030 284402053 113530304 776759732 443361818 655075190 103399525 517011986 463131108 334868630 327207682 602955840 197342939 468364473 110469060 934641551 263160051 674967450 771996864 820480077 354011780 476023818 970395915 567099597 460573212 922115572 863340709 737142193 266513624 720477812 187857797 677137014 299084107 515890139 407404033 171209963 843517950 500479193 626490375 292038557 641725506 452205667 867523247 217059419 392238078 850076318 642746923 446870330 252219357 555148965 555989254 386168908 724860812 289333444 847810552 712965412 781221238 105057791 495332026 208142551 939236068 758445086 630527016 357485809 743940715 987424460 712510258 169178040 896927157 748308749 617272242 238309705 981783745 228238616 493407740 240189901 288292658 672126966 450514896 411625084 318202140 153929469 547089430 705309624 867068372 417013835 533748098 215391329 703198086 184161008 926346121 977442793 251120095 341832338 885392013 694737263 200161261 628646153 828645581 466615007 900918010 695671902 638073436 748425707 743989272 187914947 343046854 841844473 602161681 994442372 743359925 563134644 614497552 620538859 596665595 813313435 391027239 590214838 224966678 184937680 834198756 220793499 488001971 417362530 243460468 332147822 650829063 993952809 240737706 454835056 428422451 680681085 976093832 682677812 841690146 510873192 715243322 612768521 398987902 391261887 913240312 733877905 134178940 913881312 176350906 826440229 304383882 443099443 251495226 120336985 782214580 575310463 779469506 780153743 116297349 606216075 645698915 322543071 812920467 808000784 558534076 884354729 784265010 239116673 696638632 227043698 868124007 567334044 155630975 189406681 391544160 305249832 549826017 341906190 902958321 438340570 939205524 528154068 758036877 755089453 392861551 609313345 318915994 143814322 793192602 168978586 391457414 728956796 350530001 733366108 979554244 115173087 261533210 935570649 298212342 624721276 508154462 645380060 305462007 108174783 334847443 134411218 727864538 968346116 720943640 373971301 407024806 872797030 904214848 534918156 993727398 537707292 435974958 410165564 332371155 536960801 115751056 929633957 452844201 840089888 805782044 688661426 207310444 836965992 640739298 777667473 519198310 423537617 937764464 406825385 957520873 600008109 373028342 394776566 286375571 421733424 809441596 557936907 732381867 854892819 796219220 139691489 551997696 846712805 334102245 167132584 521812605 171877879 890610663 843597634 357832987 442983333 256572208 293171757 549555899 660264956 594140973 863621916 680642031 256986956 592545624 837232394 687727487 425650938 476350261 900728823 193245815 503980240 437144557 785948989 677594519 374219516 833088145 190743813 305439310 395186866 187773938 225450700 250250473 356321466 422541285 301965806 604409519 779146770 861247902 968127491 704663924 224103454 845766665 785226997 463847811 887413850 856911375 463563056 367358674 710959712 228637014 145584220 355886947 445714544 356469748 309150590 998191616 649473186 566598090 899774205 510138952 131647141 466240093 425362167 176900639 815550862 535963121 957406209 828828139 691618608 784694685 389888123 310927976 337918148 342106469 204961850 304196813 894789611 625070758 721904988 101568975 891952828 247916760 735159457 270440133 121255871 133332773 326135849 199413531 933303031 942535058 278199580 914736915 590874500 943173036 204484875 532925582 851776196 454823355 584150358 420898119 223207241 879774935 183845999 361131789 346696979 185162556 569130283 322349891 881054517 858176784 423199860 918717831 167912556 647383123 481104275 552622110 300649660 444622358 929194391 500019051 771613796 331856369 961197126 106014528 196466086 672479383 375996590 648103592 688509703 426916018 432701212 537842981 132582939 344957903 995641697 261785174 827479492 314875980 794785612 646363107 832548866 719063787 528309023 385982530 347273576 653968825 179028145 576134039 659413622 620018775 663672170 354126237 396070807 810574671 727315297 976488345 883743669 732865646 611976865 184307108 427358132 688588456 193278726 443270464 719960796 408512897 633914943 231016636 412242404 581335691 861114363 808387831 375507993 296445017 574583315 380455925 671631701 468957407 715827904 891163976 370905820 607648313 222686223 917297514 987986190 663378487 332609092 547965388 750355611 362939689 357269131 349351996 139946595 744116207 160243524 955157752 767352585 186488739 492672829 384552113 109258697 777981327 685192628 999737040 864383109 931163974 442442661 825993283 116265974 283802351 253950210 134877662 554852810 755858607 344845824 589337095 609228847 289128668 325567745 153786583 811382322 915115517 583352587 646399726 299198029 681562286 366449272 179339833 503308825 479726881 989357411 862323946 115845717 838249534 225336542 161350143 717654371 325643260 103601242 118289380 995917927 903132152 756195000 524308564 946410904 319960492 645820210 106365336 574274737 695139755 307239269 632158321 297233450 343042665 858766653 755609560 869677655 496343376 866694114 359872412 684258028 692682258 852012388 790389135 350615398 738929904 882049616 131548381 159233326 541419576 600467026 338041717 843281474 458291243 107584583 166122428 101678124 387019529 707097381 382790437 610110544 934075241 788797502 616559937 131539206 748100605 631699205 813809037 362134626 933078379 144154986 495044464 853112988 512583761 769317493 200127922 861539060 179712320 308406765 334121967 129838672 817554920 443590956 961278884 213956448 217901974 230451076 313829467 966029244 959712504 615339065 137131852 710153970 216879865 422196628 950031843 273338352 692440566 836088884 657364386 137464712 719569421 481772793 406768904 455013265 521321028 420771349 948797314 847782815 878056873 749683930 554801839 382278598 605401383 556940593 283414916 518818395 525466016 842737030 782931025 878802001 433446881 824773408 351844642 656129307 545745240 172110120 387549783 988734255 559851824 157114356 556107747 397583976 389722131 153239183 834086637 293276455 153271518 265507631 625488262 353400472 231686843 560354204 660745614 214536766 621792438 807923238 489243939 261546036 803691061 195214535 798892067 982342710 482971838 752735456 277011196 255310204 529419828 763961583 846367652 567470446 474939316 987695764 805054769 193321098 791914214 572671503 266879365 676162646 393192243 319773155 160034380 856971839 963059485 859264468 387424153 721661639 152508403 214676089 123912910 328728551 298704334 474354007 753752080 341064369 525125815 566120330 353357228 481799849 540512378 836935406 922763634 327160611 703946813 797115339 104451930 144007408 108784371 230167722 740199361 880136584 801949231 284104347 658439152 174257977 616738563 212128791 327561870 503240024 271341836 130722940 445817290 564999684 723161068 471640893 446310333 754699251 778283152 239693894 752375022 451380374 198327467 659056850 234972640 975607417 780546634 517687672 988723955 117029690 763699519 709284281 240441056 502490573 919414536 332395276 618019904 624954157 860472114 484704217 420301481 667991171 412917859 771292095 106536139 325161542 125970950 153970014 874414629 582838611 420894664 811147117 322224778 865071230 909868253 965032514 560135341 949158392 622487182 685938592 705695406 516021400 273117647 757892033 773681540 307130826 469992804 306976512 664359539 171776622 350367885 945863893 699433754 725415959 325885443 907212759 961088433 493510020 208341700 887595844 827474503 920955470 726120129 245642006 301114926 803383195 634021072 674883218 748514241 457548953 539252676 702487870 330090570 189885491 643339015 148293450 884672081 776474131 531115053 295240060 209843540 748056953 359512322 946762119 895005362 207767302 719748466 465343183 635801886 292144119 872548955 906947445 110148788 924118597 598614011 200105669 356546741 698593103 206733838 224374094 203082072 248247549 538573207 849965917 616765793 564800116 898808538 411225590 502293278 856408477 658070343 583630821 506158714 255364597 583856570 299470170 442390027 407442624 617330761 439843372 519264165 156100058 185651904 854879443 493771421 148612050 499918258 781640469 568947296 497554416 319096213 891811522 619350307 334998002 301133698 677333800 486291294 210978923 556834786 545999601 603114725 280271661 675008073 486976297 298523717 200817248 966905814 522015456 249770478 409845394 605814164 803494365 418923737 787403863 683695043 996055107 698951603 655446274 190630134 486205642 858470982 991754050 963097724 693216817 762203027 547093960 391390444 973608625 512686228 309179490 143072441 606831641 570845222 463512263 936999468 733500029 899144367 298910364 907982969 311635227 336302784 426847960 839979535 970123757 546559470 834135117 974959230 720388964 509769799 446917493 390297744 724453528 631779478 748302688 456204869 898985703 223954914 474920722 798154169 513024950 766737991 534086276 327082687 633140646 876891926 255109979 923694900 922867656 202285557 610828394 749311373 473515046 780570541 235134689 994070534 293105055 349368552 277330834 504628009 932746242 870372965 769769412 213828920 777886996 243767458 233057534 527829809 908581760 254688190 163044172 417865340 371399521 232453624 672448185 263428102 426163227 441766779 310903209 184009055 220440042 296885177 510973278 165250716 189736032 989394344 389085074 715810621 326680123 775654651 612426893 307639527 940937957 458836809 416074750 780134447 275471645 998976126 423006317 429158736 675305085 971086580 824031823 931231918 581806996 593018476 403707007 388451284 511448550 772252653 504775157 405717779 649822072 537434716 215007695 146724696 711259837 554073211 586658099 704156609 922457691 663653310 866807046 725680781 350802463 563979587 293446182 853220258 334246225 357510231 209187150 662636752 210832598 633269184 778737486 905155599 772178582 951831426 725445880 930724597 558489410 988683874 705811560 662044600 967810659 239117366 739449503 278013853 830329205 752843621 182624744 166070180 473359476 341722838 892412842 592236648 373228310 775148216 117431841 538110211 984782017 863992832 914930971 181004596 322806638 627258349 617417551 285570756 126459357 141770352 153521821 736168310 230397184 488478465 756912858 152640715 202587317 522798858 711485499 959166705 323228930 911804239 540933621 789687621 740287524 293907525 982189574 587567609 702136814 134971591 726616369 474166738 177766846 278995259 564278669 951985041 852647998 872835517 195923829 288579042 481496351 752839461 511360019 604866452 986156588 436987165 328367771 694362830 946141995 819405249 861516636 740951514 727746564 734916189 525058124 337046539 418955673 184942669 216952925 841135094 652150061 748551306 759945731 742281594 785304506 877446222 349824383 972445182 401177750 948271606 841288491 765747090 647485302 332095564 454523667 610703351 916305557 308893972 338251665 727650917 268881476 582339824 797293932 690660451 985905932 974965762 927853547 241692899 774344119 366905187 751189774 568826056 347464622 586990939 602473409 182256980 578128237 640903168 844947112 241668354 597452261 352816433 165015881 159186432 235503879 279896604 740703147 571551712 237402793 864792769 611858557 731842860 497205006 279517281 353447495 765843128 387301945 445390075 937943246 325091391 299366824 990645044 698706608 854421759 305163333 925203641 180061534 587176366 766435587 788059002 159210897 811094784 954930664 498478324 798137479 697873192 760482638 876570863 121612440 921990762 401817865 283625514 130394379 619109117 987501625 184824064 291988535 652569530 194834643 990037228 995465540 163964152 703959647 942282715 484681271 736800033 176893271 680043643 916018222 910370787 606095582 985342417 331668172 749107472 410939346 781852714 796716487 501952005 749809955 502349130 464230611 519172180 299886479 911340803 567146803 878384221 847917096 132545905 215406872 672114323 636891182 138806435 792208929 680335032 484638891 186039426 454995023 118191625 927871064 249216906 978126643 110466155 196943731 933932096 178472712 107871828 577357826 488622203 689722722 839520284 780329392 949662025 123293617 572898894 589105192 302671250 397019888 752401446 106492815 446434806 217150634 680859475 577171699 806878202 636698180 996524708 310834915 177095597 402671844 540491320 933992717 638144656 466681169 132459790 786234679 700138480 172187921 738798046 417689883 685588053 863580653 980909826 815660988 805842342 954748566 909228487 441653113 919016067 450933395 592316472 284085547 641808640 339713364 821923540 882910322 724742026 648847948 729778765 933609291 660606605 907057351 114847670 979445232 978016960 248319678 286893611 436668891 108276403 748411884 732315822 239635119 131782345 822110550 407045348 933160628 869728860 969694082 355983843 359591559 439573297 293581786 150289071 554441766 125148111 984780000 460742130 940444300 746388915 263830628 699213917 166229466 712856114 298286205 456886730 459996838 157240083 700245218 456820448 745392336 501592517 219488886 597282055 548853283 882466245 667900552 398228826 376688870 708379414 423397256 336203415 248375028 221615754 247565222 178774405 411635791 520633675 615505285 222325310 910991909 494786623 552719246 599965849 135425790 793398077 907629516 840362265 477155293 159692962 121649285 286316424 141116351 514280852 690096822 581350965 241607883 214614056 882073874 992098876 324280876 440723931 568031454 105602972 664247953 825241485 478558964 196639117 519252992 908524262 488791436 640833132 170282063 961586144 893781374 562363889 738005186 737362877 226580132 448203838 672480090 360873533 111959896 309955780 418941683 621895933 908565348 731830336 361185543 714987640 355261727 554185622 863423748 710955028 709595649 703386512 254006615 856927554 998487802 699720607 125222638 141556714 683833165 646810706 215108202 208028790 867132754 721871861 451020778 860680930 419593405 622336877 565078910 713827269 417942714 638191909 141784830 632396112 884741494 646220469 825419177 225025062 141758097 262236180 328081323 731093646 846657176 962920446 489575964 328029576 481717436 541315017 933786964 310112089 296511358 518288272 455662669 887061726 852397317 689530737 298800393 508995805 321954253 146927855 156127847 467048366 896124759 789963526 114360687 130698249 539029622 955955771 516102730 771177538 492493507 719032046 720091615 941182882 727620464 572681993 495051088 129357482 840687685 841157116 192415961 131073855 669041169 256049491 499582076 367229881 840459778 239275808 148045488 819073352 328457442 424094140 228007551 568161430 154790772 874146065 396952499 388748816 898125348 874288678 356492053 686912727 930423701 385938596 812863999 341815639 560476096 736534216 372688518 295433984 990951048 402339800 939815457 528119753 248311004 602157577 764861420 115156561 838436558 312128392 742285712 797184840 840875507 531259400 230172513 156686547 427996871 295414916 162018180 237619793 982460441 315986447 576659161 286444693 569231006 493344798 480940717 741885362 737872436 938504564 164073590 671382610 961308637 946283249 859092844 955504188 571815637 587682362 199954123 941943882 927548486 939567700 952409691 204576560 778393881 276283717 590730309 746010748 856825001 948993076 678867089 305398356 854641515 152625467 719332622 137136352 952658326 861492264 489322169 352753367 918946630 490716301 602899311 138404402 584838018 394774866 535803144 615857233 921212388 287281118 167592968 593440592 872398193 588809930 453382113 159437118 808356680 630381695 392594870 712223437 954811073 856960546 831107744 659912239 858047741 454796568 671879594 762322616 367728909 588406441 968771690 749196349 128783796 181068074 695815665 181015352 502793872 287839458 523934677 445284755 434342997 908811310 428835458 797368758 741236168 566775537 359604330 145629223 457150720 490662957 775027744 138957534 887996867 768959912 353275696 610564734 824558975 739988942 707824065 889275523 166327186 918397735 124545439 926343907 142625716 777772322 966345619 488938945 643192728 568533691 520255798 626860933 743242795 506025721 254425964 654417301 803970179 781292180 204385951 610073158 356398826 577749230 636856265 123224392 829566508 430980188 681608858 647130413 428323659 657057973 854129911 303557037 469456187 876112798 334106205 317233016 522936663 680166181 387685535 836310367 862419771 933013369 828721185 401340819 419812138 315480444 781299872 881062208 482278181 725657384 621470178 864068179 862384744 361883335 925671204 854757662 315461065 533734451 664309266 545896603 194590011 472092633 315996989 209050445 947730985 318358132 321450064 324509965 509371031 430937646 901008739 769673486 228020553 341217674 872802051 944975016 108542959 316902066 230180988 559949511 476334090 780928886 741460261 371713641 760405387 301633658 404990254 439324021 126933087 655177081 225138343 982093009 781391992 606386380 587958680 372973965 141559964 454632652 640825118 233777839 585309195 208822156 373878367 206490172 159105244 604166257 792466361 724413534 837587994 832112185 757402385 871923845 574210125 633061232 245903095 928067696 935348563 799473159 952695378 965247110 935270057 258382756 549241357 170912741 817096842 676938113 610875077 945578418 509441163 796573598 930478429 609243766 786476064 825381224 699900001 648372876 800277487 639311106 815044829 620263748 489093967 436547397 703525780 323902904 167711444 727524064 458655535 629294317 400482526 738904455 764350461 598001900 113442110 916687371 209136034 436925763 156478614 585199044 149281469 407161689 828362104 126959446 485206274 224819560 753481887 945140760 695916288 481173338 927912744 625160213 515358147 781168533 921161961 165971048 589353689 578151491 352915629 553864774 463115015 429488605 586961984 338137466 290320945 830537440 316503353 685200936 988520498 524454768 943878151 404868895 873993973 852465382 523544694 975521942 697657981 712196390 881528202 818047559 315654629 523793535 864797723 498891969 637358962 414889765 215672092 728342623 150553757 953091068 323121959 787883698 764592164 878349374 559897208 659673279 285211587 458843459 154080971 180958888 435426272 747683513 471931636 221795574 917326321 211323166 554473164 242205724 508377658 189190910 403593777 922492975 443368994 591942359 356938705 763783087 572910045 328391406 226233142 169818922 322502417 254851987 618614929 234033736 447775667 715511601 565974350 139544474 122577056 916726092 738579440 700976554 350348371 152086023 733938926 547383806 511127350 892346884 725234365 857056512 429731714 464005449 537762890 353201256 934275172 858491880 629665195 939051442 751605992 982868319 601569924 162662480 962466123 803695498 794001082 947814113 353853608 442344911 816573785 393068842 903172813 321627119 403412910 435351228 528130326 566912610 563187493 342570963 755992855 991608114 674852184 300448871 483507493 502732742 467379402 321613872 967858850 369561961 206700769 480103930 203250712 489638034 684248890 601788390 802247906 318647566 376934875 394371190 168246640 305871210 590822281 136302486 832535386 647283682 956691020 658152241 227542833 458931337 256604412 300590547 534067470 652946926 378665490 560973551 680272640 490599933 860035516 910405622 350704229 195259999 710081205 972193793 148504856 487678087 972048984 596979190 774298253 137308782 188160288 451963949 903865101 490666571 130732988 420886722 193178564 788575293 893969678 774272105 515446967 626278774 591294442 155123662 420519041 489850224 941040235 476621812 203093843 427768203 108190421 690591099 483797161 243764691 655541686 803373240 605931447 797255268 446955554 233753843 641853139 970319371 194001422 232581335 851711864 622560301 855847551 818271374 824451867 941970771 599608930 866125265 372050685 859235026 770224199 557204064 266870491 488023012 250627288 641519943 238049016 380860755 868738773 648876409 121539273 470978372 202834079 110855544 386473453 664889017 737634272 906293187 392470970 618414568 714437329 754762580 779210152 494662719 760753773 902233730 778114078 672653446 106442153 412958013 469197938 306533258 168983931 330664860 730326840 122960261 376106404 914916497 183181637 476107415 699699698 650508905 130887062 595813345 757349405 410951484 711390573 322462273 744594899 842254220 786023264 394315705 689488177 508405867 557122743 252834755 854541880 168402863 478033455 300449695 926603932 548815227 843428066 959020080 409811212 868448159 510986954 681922782 665258537 678315944 363465915 329117766 905643707 417404884 975180157 718330247 901030510 686518829 280747534 441801406 985987681 888400325 881980649 360742146 284635058 955129884 825405334 368589490 590419798 184581482 156733496 286636093 585586812 840762881 620008183 931512080 800942316 298843425 767552349 917186943 406306560 584001350 750652270 708178896 935223093 222021301 377586879 228090307 859868648 669603554 901066889 129464908 269264056 256372117 388506611 103078345 548243806 855475835 495688439 738179983 105995136 661046230 608535908 220693669 398435625 505767386 944905180 812230829 298669136 882622854 368157166 722277271 142013662 637780465 287095358 111700593 617259667 861176987 249822634 696304448 865838130 769599883 134035889 675187552 776131656 893945776 628902101 604992431 632908648 745208523 531403159 864363673 792425903 745060849 675751854 211044699 535203050 473371095 731703455 592430973 455176596 925022988 370022282 896007823 415898503 638546048 110282867 517617532 131210251 854230841 338972809 678327104 359693918 831454202 781896758 864799072 289646862 145175781 617863672 114867996 296690501 790059589 626302091 740419512 908336384 507100328 543189664 937581580 279291287 491779980 577276235 571643918 410069574 650371584 397028228 381207629 265853365 515278685 810412595 962735819 546707728 767302192 575238931 100046383 726118724 381677737 157110119 169002042 530322619 320450689 672496232 454750289 939109869 709323817 348530407 215611680 183470591 359325059 778702302 385142464 790252602 941315123 919971286 412818867 762647632 965222041 611205236 717870929 648227639 981777301 774226354 875413039 665310186 597830768 785711312 897607705 835302368 150495787 648340676 335433502 444062395 452805719 566062662 100019391 491216640 366280231 391605543 156698202 583384122 444559497 773061507 795214413 686468817 471046045 949423794 818572813 563781339 351631192 139530178 839620086 776812404 725191622 416697280 933670903 746146395 337955659 290263588 496770388 155203519 393799920 236240738 631976893 937164923 452054677 181259092 577822102 610495598 180098969 367712297 920805056 293692997 463728660 695154500 171490965 310706371 363494496 998491139 759167183 304110849 606610102 921455631 770670308 816278767 359926963 312420633 386607312 331364275 684310890 556035931 197997735 996637255 514570972 964917502 631135952 492076725 711878521 693057706 194794009 222465866 943049933 786600577 673120306 906098919 532163376 360574480 136258600 136856288 961928611 754268335 818910974 855523083 287729787 659667799 778478084 458392262 996494750 883109792 750869321 939202434 247901315 852142695 186835601 285624515 177044023 652234980 683991804 399741841 771744512 518052364 357246228 392701062 579704895 103935518 203959527 421665879 448223661 721320056 385178332 470690764 940825630 799147336 955536215 909749444 391353785 428456972 304454960 346849996 184902987 279763031 595633679 490641183 269280306 336829056 281772657 322375235 949087956 320193884 410712616 741228452 132480804 181853896 983340454 985904553 519156548 683096260 538295881 753844901 229024237 480129009 221961940 106680315 277456862 390909982 808994452 874099742 941260067 203995222 661184127 620544277 142796230 688012166 983647943 905129117 916082038 628379862 488433444 803714985 180692570 822709366 491986507 372406540 158107866 271512204 852368885 905355672 524373751 724597784 155956885 462772622 667413110 255740419 476677420 854263312 434694023 964628711 999613982 205753422 117649578 284673630 845658381 932541327 439179777 777338559 801577453 757125599 795821487 329129237 501318529 978936739 525391590 348826500 491728306 531563790 478692626 141271859 964601341 783006958 962142395 259987300 488711393 443225343 557282258 423594532 940874110 528412182 487227748 393731730 465191230 873843925 729844305 935751872 665213072 644597218 140789114 885465197 328587673 407083730 167421780 506085454 601390581 576434509 197892709 371077761 239550105 120153605 807627422 301048896 266504703 414623893 441660337 972403230 752532626 703807729 860162746 229942068 373068199 268968880 826128788 939198959 465705223 482481938 264323582 359296308 585266784 348037939 801196224 265671349 655001733 318457410 506718966 557103572 714798343 910807419 599707578 227741941 281009250 630613901 310735087 388481977 125760225 625921153 410090702 867586234 905526554 269278744 630607469 723204903 853649297 360204790 471071466 613004885 241742356 706850485 884963387 947315595 259461270 677957281 819245289 483528251 137309164 550700816 806721385 452451190 260861846 424564025 417492412 922354440 496133579 745344594 479456073 687632868 918078030 221597915 605528713 339006347 463095952 871008332 568791200 665807193 175617212 582353290 563304927 627242444 143648173 420911492 587208417 919601155 264681693 851672199 266896152 239499101 429742875 712706991 952830458 575368655 655741370 923521285 601382750 838163283 243057311 593143263 843668532 768840497 676225150 399146175 973412056 651317108 358246457 846548831 690461492 739923614 937472001 125787546 109220540 709140159 760105287 625713646 927027747 845840817 997070660 306128013 850736503 378772034 518985494 488381257 787045371 937268708 804237130 767356070 387394543 490344186 686639135 434287066 764280033 960170835 108660303 580509733 316832686 752678423 342378742 657256053 981916399 699644219 984349889 654896692 867941037 442875102 423601513 802711397 577841417 186114313 896534157 618456517 445683766 432887880 370539701 798565825 702211632 943110837 487534380 172053362 263315804 289680594 605666581 782842507 863900290 607429214 467168239 764574786 985405970 305982254 283201210 360696301 588883655 351110236 608700545 652908765 242559976 706200781 566549020 596706378 183813905 952165518 741652519 913633805 716540400 993518448 385144798 614646439 630186743 980234827 254276882 525648741 815168183 966860685 164113462 773894711 226366948 330063194 472051740 846862142 555052507 290284346 309713482 849224011 688974213 426012324 123897456 916788858 144845536 622020742 437266768 411428935 435431661 815046666 753229802 797005156 300166137 885116269 138911768 687903046 452766272 986489622 389284230 865485609 542322629 469108174 576081722 170409664 426692077 926164488 396066663 364230587 787397250 302936722 960895071 289814829 221648812 216404559 450642792 401236339 329496161 659715431 793606814 866490269 137545291 276383956 843461480 380549181 779361217 403015020 840565576 435575211 478304207 376574030 751920546 915291067 381452451 612020548 732490737 237774389 120073644 252809131 255488045 707258199 165360022 763397093 996562975 593288401 134682247 431857375 831665173 177627804 310795455 511153114 591871850 520882030 588777252 772513584 845473092 562321093 228185650 868226634 356033204 404338687 270015347 875762355 894035833 636820705 629059373 781581983 125685431 688265832 790869779 212408477 722761488 983873985 470407275 521120298 672049621 551386932 841671167 531239698 654878025 725586867 508135812 672235300 940906072 660196773 495307305 532228608 521777370 749585509 719591516 616417184 104467730 678879342 277606055 990813239 255695310 516956796 858393033 572105999 681230348 386236175 505555562 658284969 977235547 942630345 282087919 875291569 307973062 616090826 542885906 663948032 910017905 684616208 683153540 958443096 501804361 249874908 141417348 933242925 162414083 225494649 516485494 223888149 340573840 959642135 177266081 487787114 802525376 651128722 657147225 680837996 965795622 252248002 614402059 651929946 795304591 175870142 747497858 125357319 937373693 253419391 801429219 247808696 136938960 991033810 289558967 330573942 819594138 889573881 932270566 399096730 421325222 957095583 455677514 873766452 618057966 573782726 282342752 333207695 395830500 792427693 320318920 904810511 891032984 229899304 742039753 287984021 308174751 628250442 162264373 363217180 493337090 678455672 718721674 640952057 711344441 119090692 739741585 580817955 912430227 910606432 258697317 981510283 962166902 604270944 335911439 831209730 342960106 103692426 198458361 824961027 779961497 692387823 524336028 738200267 605637384 138007526 181350351 750669159 959809679 219314186 322158024 464465358 731693421 249158916 196288495 209200456 992731759 238863706 270047679 763177964 243610439 182915064 200815687 544568916 663285739 581204616 429632274 700257194 579266995 257239256 426020292 714429202 219060201 672986198 571867523 961773044 318528101 153735268 855036531 942698697 612368555 832986156 581191669 537943308 842700756 699810020 740338144 804599169 155390946 114733917 598145786 493064587 936759709 571522392 186582100 769962151 511579654 325410182 863329119 715335590 126681233 154030366 444431597 900957905 699974751 142986642 203557850 248826238 303353460 557785395 915272681 109135487 859583706 939418420 685057758 751483826 923345335 904178848 559603843 307945559 329415651 712126584 656107214 975814916 760566114 671423668 966795018 361648950 733086681 883633914 775422486 858574614 933644845 742571493 250655809 243575302 809714824 130781181 936978618 364250265 179032600 877569844 281214170 522864270 421684299 683283734 440817304 533791658 787822319 629926234 725730847 971265355 365450653 133973028 736880359 760167485 332796534 522473418 689469908 572053387 267441159 125074536 890371977 103640811 595965481 126064820 139121044 432951067 230956533 896903660 586150226 994908426 971997666 708066914 204621692 229827839 199584017 468014352 196457271 466061699 835629074 950618496 736615241 845692570 266740501 601461334 501481453 869059145 666250898 302491768 585357251 837751876 837997996 341181784 579318123 576069183 440469449 828792451 641487368 272093298 567169723 372253310 127281125 743737659 197561295 373918349 232506642 349525479 105383111 503861182 526503403 921466244 424816112 146626369 209741980 441698928 976385564 441274202 321162400 646165971 243307822 312681064 624841706 681231531 748797366 228330514 631812376 757561648 733244437 890892295 963534712 219214350 258702592 119832398 346861680 175154479 575939228 678204694 494465682 980813187 802561016 742809084 955768919 118789706 817571857 412456216 701332374 401541932 676439886 672198084 764021801 527033860 902589423 457912262 337586001 577222547 553486415 973624204 628525219 795542664 200522360 375828933 697765854 424335941 362165720 667587679 785792686 156074120 669902796 626558890 609140605 824811133 957534456 553423589 252655075 786730026 960507140 939895804 471387234 773112511 426696887 399671933 521348423 301820632 973173222 422103561 605861626 216051612 975169320 112754914 267609717 926862298 879184606 503951274 212622262 527864175 740904249 872049395 196342096 738923122 269779554 213548281 930465502 716693159 956865218 734110840 582791345 788063352 910037074 838442789 599757875 358322615 792880406 325281695 682964256 105077563 288421353 445375447 460930537 630062027 129208879 232107482 107939609 197766663 382213018 107635485 287595600 991435702 346382768 287604261 173508475 543745862 140345472 763088898 410312144 584272088 126720642 938640795 772543991 836273396 866545451 317347436 244953989 716422884 323835333 387052328 113168836 893240216 994203208 321937846 985715033 974819757 487267890 179324250 738112217 685322798 991457671 744262920 470246463 220930060 236476063 573572104 389513828 364900793 646635611 450028985 463764922 654176782 229124841 984823348 921846185 552666885 420346337 978499872 819127263 489504884 599777436 427854894 955175483 909972658 368959897 668282811 525828690 844642402 938094215 790644852 747227755 781711248 212573540 506794900 450097658 155752114 742958428 126625869 825094992 771296960 846480095 213498383 417771169 414367102 170528044 112982305 394117319 866702231 560612867 671308403 852737678 936840757 396386710 366343727 194612522 451215188 242718552 421897405 784181679 886002367 431780723 932770277 164422227 262946171 296504628 993035663 581527045 611725318 535160855 111928738 748664106 340254625 447336765 339333461 434951870 456266155 573719991 215111745 112847303 559209412 268257240 477522209 845853482 811538272 179177309 863739510 474473838 921288876 442392392 275330493 489749176 421219879 599839802 215930245 290864970 150659409 610344489 678124167 208813625 587750475 196700037 167636070 492490118 368256097 714751007 293529889 467312122 399768102 677813773 267837044 273171229 278543002 465946904 780382066 389801311 865033620 270245927 286701870 321390281 778538673 935609164 825681603 986318239 705581146 797185098 872977086 766832770 596744441 281606212 695065021 799544695 872267482 376791954 407316175 456296563 562920673 799718379 151640837 563751169 924479265 872175740 642166633 951273613 215999158 976858660 857607089 861105510 146631816 334577155 339609731 533038991 442967600 865120070 966028362 603633914 428245517 216347595 465419552 555658509 994364469 331575794 256444309 983934336 646837603 449505059 321797225 589678332 362618322 801778007 134131114 936215957 955567329 298787023 289157803 885317909 241750082 890618696 309081230 571056310 150638849 433173637 533569684 711825199 462082760 924825309 900789465 199227709 730958703 450037092 616396597 266990810 654809152 336581610 485359658 390608250 990648993 417401799 854046799 476294852 437406976 353359026 114441960 468314232 326024425 187653350 418646478 421703730 765512284 809236760 718818048 548004346 709666819 545039282 685046768 341777240 316151834 530237690 151524011 814438143 667495707 281297791 507471495 815130248 108087877 710948638 528273215 725457689 625563195 201813791 966892904 130182427 324946906 485628488 546236001 633419210 304778858 999123456 507421540 647902847 305054975 850652839 707461345 129945024 984782268 695872111 780189536 250944710 501901738 258453490 234687815 220922525 768494149 195670637 525878018 341185920 296785974 549339646 865262490 727904520 131511809 308876690 252029408 509516926 433716199 522077501 745095935 183179265 413214915 372495663 487293786 615077383 329769360 853960760 329927790 444534838 829063960 279698066 330444644 542550208 404824351 273249629 208143310 281261324 578388683 986519092 980719164 838837726 458106541 246462917 373371969 712248006 386859681 978717968 246961090 725269728 321187653 381598941 192884139 459387332 854010827 357445161 715564120 574047164 296325752 600430693 249939752 230292602 337317993 364678506 645422813 113573010 398799025 111972919 446538179 592061256 125725913 658229114 288995093 372563298 218076060 332479362 786087986 136650315 231850462 771273221 619948591 455696648 134650905 293406994 432638124 476632164 597112922 391346933 522481433 161853230 829750015 794672269 215635725 819370287 707357388 102300914 298928235 423130626 101299335 185024809 288640977 816220131 933311260 959453003 884391473 602297213 796094746 565169012 764378059 468543773 131101491 387555885 104052438 765984521 525820840 270268011 421777320 216791416 595753661 991921259 134038737 818697420 691654614 846121643 793015771 299841643 629674091 909225411 599169506 486625166 431551359 542270399 261943789 877981050 825376846 439812436 601029223 131127935 253775721 620769994 167056911 302840398 994786829 536068948 120061478 630328363 558332116 471468939 122692065 255874217 643332597 495398049 718605324 114041308 447419492 256439881 524076132 695341691 915346336 883786360 404013059 950736989 882041113 684489958 702456623 852934726 917148639 839327842 474465624 563983442 692883263 500893747 878809625 991284463 312038951 623905838 117847803 413693969 696735143 623343417 548639487 884027192 725489097 166261318 837264119 661689069 386274737 414895598 509855528 625453981 226421210 607243481 703537703 580958978 749131606 760809916 816539874 913849666 144522858 784656862 159946801 754225095 475931955 122161437 430158500 278514674 489230769 138609659 993159406 941567141 220225872 739600847 118654635 515377549 379360994 418314544 829602445 374081810 653279924 886589062 188772663 874458942 197586752 737021276 829905946 361027497 843352043 737891863 785151705 131565631 810993761 240163418 183807976 665464611 217512831 639043027 283223706 743383515 769382258 271471197 820389582 252999928 267073626 779835966 802243812 271984423 869618284 451966371 296623315 180134949 944969472 858987641 437525166 992054876 536385695 441664573 589142554 639746098 984713863 556276148 411784945 913413424 675067530 252205077 379578589 258392177 779280089 879236962 273444986 808331351 604945198 350917789 389949325 933928342 947525170 428393695 255367422 480862025 268678341 400908397 590743181 421418243 126960095 110745318 905136294 776855022 736723501 814280849 342710987 392809840 145197040 990331180 635200489 534376665 529387161 224639415 556758876 266965314 354343171 977300886 701854911 789191795 302445418 412729724 189883911 702792525 775888926 409064227 355794119 734346826 245559550 235175499 634004242 186194348 639312183 385779358 598029508 569321336 981737137 337664589 677275431 773935471 493290147 723902141 988632177 945620100 154397294 261532000 342783417 289543463 452160628 264764389 170664817 943724424 599851349 386133892 721113602 961707111 947761191 793041063 898373101 714185616 474713386 902164165 586416830 534791539 559503680 909385049 541616411 794174156 313588121 658259042 337430042 780515892 437202885 247866932 176842337 959154438 641283573 569028857 875858199 477420457 930981091 508764998 741412161 326103448 892287981 800074866 824793508 701009676 765875093 184522914 633142760 766274584 599365095 550549888 717952134 812209371 583730989 635147978 151376262 349872655 408413234 836155022 185744968 339253073 135379747 771462739 702375901 948676927 879763373 498890170 694496728 188352470 706797614 878477270 559655317 444313290 917891457 518155735 303412720 352808776 221633275 666278386 944302305 558873262 619766051 995266488 478885424 966934170 927489502 176605795 448323809 449821965 861941930 331773102 203397982 214075034 627269452 534213865 840337749 922546756 898778316 397558490 873095938 132927453 584962921 692711145 772509861 148763143 933123879 273902886 647328453 746685213 383727043 535647023 846057892 629802386 134824210 939244798 386914339 180643675 652617769 837061507 759181987 652187349 770305476 386983889 637400565 411173364 737980159 334257791 507186686 221494279 711745131 930764163 790138913 952054072 240150057 220843766 102091059 920327698 267705410 208937680 206641152 755452843 341685573 817906888 893791338 502018483 415662610 413855190 916053562 805573968 156986890 678475049 984931356 825915464 633507010 538855116 508917273 999263811 699432392 283289193 884836314 657570021 941324323 789954173 251704523 320691787 180065244 207532475 779350847 313595264 277321081 876742924 903456237 943548948 700730322 228264880 636468616 781964543 552255096 288302651 791163484 981082214 782616404 396643025 862622493 656488066 214897286 170126775 343115506 735580354 318161270 805515468 296383054 422645545 455331845 107935231 196899966 923061606 834747711 946105410 629963410 418919229 539739768 708375777 359845238 963571021 341148598 644136917 159628833 265904914 881241548 257741367 144647789 454712906 285959079 143548715 395520489 838730830 329097716 578866392 419747392 114852160 370480159 430107908 661605843 851799769 969475575 345997507 345807706 260583138 767954620 309886596 510063521 324693945 188116403 620917536 147436841 927076161 928694992 917914234 925349631 252171547 134143005 575078831 626905968 864257884 735125661 342875537 620398941 479014242 885651753 776516723 377010292 190192882 279245258 121179209 628502843 270601609 107227972 111835901 165382581 719397617 142400417 895362864 503776940 758449627 322558483 461853145 724617722 500391628 303434961 112013750 148186924 113749826 224887785 294621771 555243673 478604004 581372221 492952457 803558553 291992065 792395456 886267385 955095117 417493791 803160816 393918286 312490445 135987775 111148073 604788096 383649681 877479234 624629149 308142498 937625345 261948178 478407320 588427794 180265147 282824632 388943703 435704850 252239282 407492951 394473800 599950615 790199341 425159604 410204800 388502720 217360824 448545505 600688271 617518404 790807144 678591277 946117651 109266754 285776962 733523096 639562504 142341347 969596514 626414882 190066590 355346180 109078717 138037029 394688884 361250448 234992626 843460790 175767637 929006936 539677280 797860586 829516654 408783652 940362726 705089732 886877492 619282785 208428083 358903441 157253950 699830204 996415358 448922159 591066514 327283565 359101486 834623631 361586782 264659972 754304953 272756556 491937368 947489485 451736254 809920602 149920605 386520128 947652695 105232342 532901460 409132727 793551139 233936133 522458978 610988972 992858759 751764590 733863180 520924235 555526234 150478076 153995146 404682381 573955203 557167338 646209592 884345674 797096850 575166060 697620819 342064366 117832333 155494614 838775861 890048099 731304807 355194211 521976695 101365893 713828044 677132802 416862068 631976800 492440190 268482086 660648507 164486270 410855184 226213331 943400859 899561990 174994603 324197608 357048470 570560836 306521031 747802336 448228720 574053907 503581295 157278937 931047731 613684395 853781051 976503367 175686930 823745259 640249823 942983853 402184728 454156084 720006379 799403908 406050970 892061942 443905659 979248091 158207895 659624900 631095648 890321223 617359727 451654231 751087466 716517515 277456156 698727282 390044662 548151333 581312491 763592226 456603381 653187688 448701910 724031593 848392427 807500026 832863134 856406063 767407681 528920987 535087556 867329790 939416512 253718075 722171809 908742336 938298731 922429540 561834939 476725359 739275646 648026721 284469813 662998182 197212574 179337381 389806305 954245897 736931437 583265660 982762154 158709747 502695996 116245547 675453194 114357322 640111028 409321816 474271510 733513230 603904601 850718605 534818084 229672869 773760126 748322249 272003171 777025401 811207024 221024872 735377162 790369610 730068460 617316072 709164092 375845268 802196535 171859035 588155820 314080768 121833841 940600143 852302707 617801817 341145292 154232910 754210366 163055130 178897109 818305195 213596860 732454762 911943265 799938700 441960162 312330513 180069841 627771458 611455463 482391829 768645804 261409837 376800517 682374429 618079472 281136403 892508425 960475149 650812777 956050393 947686834 364292397 331784499 968690399 752683516 619170216 586047593 839562547 740593054 563123335 789997909 862808440 224146767 327598100 544716776 667967472 224753175 356776789 501549839 485990734 648185117 969846900 608040222 131994452 466431954 490273030 640511451 693139389 112442490 529883457 122374868 290781787 609346000 225249792 582499773 126659005 830956190 512710885 864196552 656212845 944153466 224960735 474446974 305499058 183511223 384986685 855905850 744847708 266598080 360980349 409604116 497763517 501344991 105658918 716252135 229136450 670309889 894675984 882490756 432801323 147218243 750514432 201925301 648246372 949188658 751481997 903813775 253422771 351649130 201169189 299925922 913064377 185818476 954555436 171632906 149362059 709456922 980118881 515663129 201784994 709147680 502253539 971485452 524760010 879860756 705699965 234753663 468633842 940377870 778267149 116962440 948773429 661007277 420993466 766862026 134462555 850674510 825967696 510615533 312615088 237450008 302996123 983626189 238128374 139183417 605980900 254317084 785369474 626995909 856966678 542618885 808908376 716505851 642822709 793049903 797801568 603776360 201867641 538249399 213393216 770539831 580967489 959010147 408242989 351677103 708749513 371761137 387464925 114722342 339407017 927818442 764825064 601177758 624363885 337936402 659309358 769680064 921124974 775001211 691177727 983799642 593049852 867160576 695268046 331936048 249169134 472931663 202031985 819283901 220348644 667752359 214769157 858071981 741078360 679063140 627840560 412814367 493069780 710942936 973746202 466032121 362002624 728346655 119930263 181082944 995655982 186610210 194327130 427821534 587246077 243469230 316403802 680836123 322399983 397941265 327160061 204830715 815828806 275421747 198240992 545781018 411287024 342855759 869226237 481432907 820276506 906861685 311733118 456310147 182417027 187847084 902748856 557380757 447967115 835219183 105029369 863103740 810110574 549900372 887387596 742626997 170566452 522755733 853781386 477646478 498733247 692093250 484325234 623359314 955640166 545206906 628992108 222576918 107643155 389426864 245406027 219789779 599712881 163170897 873668421 224360853 758210498 121313653 828788658 805414226 247216383 811165426 432698771 965767143 602196266 269510812 605617356 840855845 614439433 233852259 899999720 851698445 228829255 606665790 495634479 584875382 152260247 272837921 457421941 199387413 202157224 239058823 914799830 793221812 169806114 167675760 656040383 654316052 846399941 885964587 203053446 768577230 473822334 102872301 991433744 188434225 602556137 651276371 663712886 407481634 470664489 740784565 152849018 494423262 779895167 650609252 927730816 832072745 818215313 908265962 669061570 884243503 134126261 699403871 509837665 321028233 101904022 795930580 582578579 282892139 570585725 384358853 793002494 159221674 571586142 176343043 459548821 367906459 716732933 356088454 875108191 166521316 565080569 676275487 889911964 830135931 613770240 798983036 250184730 503611135 901296883 776011219 623455777 631231893 983367113 167997062 504161849 423149978 425633970 772083816 338255021 474266677 487538183 188100145 837119783 925465975 145261154 741839224 753455941 861550524 992933030 883185853 778103873 166744785 469968537 484182853 166058516 412521000 883398809 956207691 951201086 564413977 652328394 917316131 324962453 432594896 624895863 302938868 269136601 822668975 583188068 593253604 876230386 344018634 531355366 975965626 778208948 147379677 438569248 742221663 305510132 971330694 263521812 175452283 868428485 716760836 320043658 694763204 433224815 713007177 616635691 645458692 212113663 540846477 341976052 723166659 233284437 244454424 415480414 646434930 558428090 376323014 102367056 324630266 741575279 442233119 659496700 997422653 945687777 966514830 614647755 205156334 823079315 549065336 191077414 212046393 925018197 546666232 242595519 302410717 355383790 115951056 360014386 228104090 157217966 528128049 932445124 229150275 163738935 233966912 511888386 485762638 502497518 359152400 600089527 209479941 331298055 188332766 829514679 546435384 133074460 559681574 644857472 488716433 867215709 798327609 793263446 725666082 306900293 459055519 506054446 433510542 815504130 563673585 892820804 531880052 879418577 854980437 767503230 198499565 548942175 532965371 957090300 593111572 775328527 851200341 387632906 405334493 375426738 701100863 843087669 831216768 826402203 265625513 493159227 641375507 924545569 708795145 804330257 351364017 939814241 859648118 729174873 233893742 585154464 493529470 230527722 833475527 267176606 378220197 381029620 875441353 104199266 168015330 209299122 738878013 339696263 819881403 838841655 934705701 433889817 317965714 341402534 118565122 460372074 689924768 631287988 676702708 421518954 630609526 524048142 231468357 548396199 454041398 768760351 398330312 510605250 273604465 616736842 393741354 485965743 298559634 834710527 110125987 653511002 187313965 940616560 908620034 441436009 107031303 914396027 349193223 295827637 374247794 718165467 920992451 849522141 674306699 230063502 420912822 211846482 359125111 412159375 836480203 790848989 521353969 659492069 401000314 721115244 806035719 663466218 442929950 689772172 135894178 604456752 372817876 886477688 240446376 305231200 931477574 720963185 660499388 922233036 516952286 727149693 649985340 138246797 102378741 131937215 846811911 282351625 408141249 592328493 814328650 910945313 954447297 483716209 781131898 269833594 394341747 436366774 645332731 325715991 850030314 521478899 774097007 441782665 603262072 789311222 461370748 712075533 971936549 252531585 807679686 802656615 148119358 810656066 596476728 837495057 503882052 436095841 972559528 476899153 495796931 820460615 819352845 280765821 124304582 930039598 999942761 277160406 294953537 582162610 985397032 621076610 833620147 871660906 469257199 811376605 215535623 649410991 561792859 555794292 496232405 905731069 238578168 666726390 643121239 585807492 637362798 537551634 110334714 287350227 654310344 537219003 627263395 717919324 529918281 510183280 924422178 407280169 707505896 400779292 878236425 403243342 568880780 836967983 924167296 585204736 203059873 889709689 550168684 276337960 721938463 730112029 411786290 927008320 242590315 680165280 823859679 973299785 169556794 666521909 944055807 706970338 746002292 457441568 238011982 385789829 726797421 308962146 781608114 772590221 966854929 310385480 575464437 208831099 143660786 945564396 190428900 795666339 278958067 113397861 247597047 527669097 998200197 942977096 405690548 381383092 780677236 159108913 462715353 504042251 799627713 874238804 263444464 969399811 730805071 717516251 107411761 602292685 450261805 452219364 649141999 673619829 825347582 497863804 292486256 624228707 203917898 298967395 857561518 571049261 114711488 147641891 514932493 683053066 352691738 790671129 316718824 340957913 279127041 588515964 434589557 129360217 866063632 985884682 349381958 584201062 740137214 529953962 367497774 545322579 908093070 417615236 889788492 124318828 832123436 851619943 652539960 410374127 128436402 521721680 382744288 614413430 499022953 639594692 795307826 544551710 762097271 569122876 813347001 988274016 111446986 262108871 118843265 501126265 966692706 644696633 158081733 745623475 479769614 223629846 477388960 612683461 431740375 419089020 257760601 256453875 766228386 262507482 177347744 140253764 906934693 307889339 244195881 579806493 825164529 516271330 443410593 192843102 626269073 851570491 418091236 298962601 394403041 574418077 443174782 733913857 917422650 327704392 546273258 516826702 665842079 950192051 482356056 678753227 991265485 357568533 381284273 816743820 976957751 288819966 976050768 583577347 947342692 929866431 145890840 245807693 882116708 882484506 485965263 416556719 777803229 842792057 680845591 836614756 689316620 272367561 591694569 278194499 624606703 596500190 955450876 798853444 608803825 695405674 647905794 392587165 683697303 665973722 838802748 725310834 967789420 668453230 573599103 420797874 783581073 617981413 168969889 745731619 658347691 788907701 511262004 306182628 843441474 946353062 986597421 205585855 433405182 950772385 373339695 423102452 998416680 753310391 699451007 969109488 766806349 135960684 869724273 679949073 172791094 950587085 233377085 800733848 496016403 926159968 637293230 294037435 313384338 808470320 694308919 396603925 189138085 154447966 920676510 179477023 580711805 971963154 819048978 197018292 140630067 713263416 348500112 688659651 463237037 807689209 918854149 242549262 160289068 648438189 143339511 984054058 649841794 646948386 301841293 404227272 297013701 691471009 999315548 468402388 913113598 658376219 664344104 650321648 891382168 730379438 637226544 942420642 763767645 864318675 414076079 825722034 342376282 287566305 590022713 609612137 440769615 407354736 393376220 794331512 641672880 251047652 626392767 712167801 830427040 698831722 428738288 840157637 741608341 715289071 663966761 828652450 515491918 350086737 506466627 682295199 174481058 893345585 884533510 425892270 642536962 176333526 757852437 258821028 223601352 839452956 492838119 266714099 896482388 694789808 220707874 680671127 653660785 983921440 892853556 143021756 749723210 529587759 255447593 763468823 704914387 611870513 429748502 296324561 493395123 463594165 436312017 154298110 113504299 230349802 234637080 841943859 131216463 323217303 712767096 536709914 984749011 144682337 700462011 306242154 381249975 514493879 777276706 175013547 125020204 323687643 808011413 906740013 398407066 999088608 684083310 812018975 280686786 599756908 166752857 414058366 998051709 338016797 294673605 346025726 708553380 470916264 697748423 653424797 886071654 115372432 133024573 188880488 455489023 560689437 768501813 872481943 226228128 250179290 535169528 574991033 452844595 815294273 614134353 559303727 987326635 174244337 740501717 726726174 574593702 347686431 631810932 428494695 988953742 960159720 734967511 389328085 128830128 287627522 356069772 647732834 446635794 953182868 585878991 751425100 220199360 126766107 867474382 907837811 416314506 793241374 921692027 602919209 166138661 488582930 122514981 591571173 263621421 627833537 293646766 211823406 299165747 233001253 103619849 588596102 281019129 111664260 626397028 152518011 604951013 103049770 412559747 888585712 760006897 897517870 183911731 221644890 631633963 592035022 442105706 455849391 562137811 636938528 315711311 480179395 190326818 665675687 895997604 378506565 140191766 625320511 993421571 701545808 413188422 421962159 186246507 759666810 572501671 602136920 515428350 266772145 335032048 847631085 616965702 434340231 491823005 885000944 456664715 889448754 530269133 405116218 729596119 179530753 420392329 377436267 686358498 448294890 306531927 967034454 976702187 288272176 340812748 231373576 965219757 460297893 262394624 307298869 990374686 842430837 720869673 151599842 377802142 332570716 791374991 391862285 522653606 761845828 276925286 976481418 648792165 606333468 609922413 801013659 421674519 119818846 482926054 339386100 701714869 942487569 279230781 914640874 710015699 570893101 166833354 558798271 434178725 207078283 366152311 762535397 151557523 454200657 631557400 282909181 207927318 821284433 732311192 180491541 283269870 901064320 776453410 131215990 420787064 641219966 640507661 626459627 810404806 374377209 692391912 945570772 181886349 305820095 327222278 507410547 307617094 835251759 620258190 531141687 998477107 259084584 382594319 425283636 168448441 261152093 499717799 141812218 389920394 676985814 716675014 612357288 253385708 777951249 715311884 727422250 832761033 650159705 329070115 582609972 197812673 219191433 956150027 825007333 998350487 446451844 315981884 863154693 557473590 704801896 625779010 827041851 161275750 142143050 196032261 829437033 401649018 606311884 186630337 452135920 615992952 204462477 887729626 678532478 119939026 214473413 762527612 668235856 356815591 749269906 989836702 401541323 775540600 674652434 709214177 798516233 108102645 907589798 380957742 579999314 832608919 998770065 363195613 969198165 548206496 435516023 304594868 485809148 523207890 306254215 165660711 902893281 780376343 472131536 826799019 642883731 694814221 704540471 912153873 765832552 632527147 840625452 721452288 139722312 363845168 147632144 588618627 906228989 464969764 530602897 859083741 902784174 315471501 356947145 399163394 259381605 553308218 156342323 858417858 391441980 921227566 563541270 435898494 920947695 289644591 133103147 577106075 451122394 254071294 593065908 824846114 206674779 615372942 732866186 262757588 286707884 733891406 844063733 157959644 717118264 700253488 810977885 409697941 821334936 393882768 118888973 292871299 704634971 652585957 254843839 898058262 800107051 238571676 326988236 435542910 112752860 774769075 769881109 672213605 678889257 389715599 954176835 254886028 362798081 291505474 647307374 113839899 527965386 442166291 909537384 785315138 747265848 427908150 140477097 211652408 193424492 108290676 690970376 115723109 206916647 456980526 237126227 322154313 706899071 742969066 237054632 571841170 402514423 635190496 256513799 991261229 853526048 812971756 376133389 973527876 905106619 201741143 335093686 306460240 316339059 345739535 521300795 258823825 933714880 649144892 457335360 108569454 620159757 705078685 172504204 998102794 623049915 692555412 132090609 331598709 822944015 652102811 613650536 691834885 218121192 201649539 594431914 566449852 545974626 553725463 382554721 989088492 488670298 339335178 655391602 525929811 148494354 189005025 586592443 237063648 638365933 953779489 837641803 933492699 709653554 765966625 985942388 624341141 508623442 943750362 533638874 622434111 276293472 884032370 700325354 474314930 791700139 989974855 495079643 729415686 730155131 200927736 460776040 721069587 993184687 364254269 876619539 515286192 691015992 582886918 681937299 951910495 416070299 985677869 549366907 288269208 753613968 862899065 427432272 792578385 157360866 615815134 743901726 421540373 570332032 424822462 569926696 465266838 145198214 862334333 836332135 325648796 624089185 164906390 499275789 362410784 981103746 302054565 660875517 804857543 460682420 781166266 772059829 930577090 484777013 319666632 739914170 215495781 204911800 554118581 473755497 196534074 965601019 464444864 155400889 698835154 207180158 648796400 316084372 187301464 716073458 835656646 983486984 391889093 785332737 261961600 910273755 798279559 159056303 620647150 824079907 529258732 739772229 948419138 460348192 178313455 688942826 951039046 675775259 162354076 891776566 810337772 265458263 865266293 322443479 902405119 553943424 946398795 703839052 487689496 954562790 717362913 334390789 347188996 889119336 400391740 847415955 102190322 192770672 553575543 501476064 791569392 804479234 100770009 919485631 515763517 402008296 129915822 660439535 540645287 676201777 276617368 814391717 448419170 438604357 188756005 320348905 269500996 120188530 435243072 681467630 764099155 979543422 225152889 510529635 253202646 821384286 635918875 224615245 988453747 367866788 498102243 180996098 393017033 105412605 596863129 978442520 544590436 308407893 476995231 948214903 724601337 855238103 421261656 923412787 786263609 140003030 881627267 712710653 830239830 814689226 703775261 100178324 207933517 478495943 178856176 301388583 212403302 159243531 438480486 819676808 626710241 852315761 471285490 221925708 922789306 959885882 887038450 370672096 764835066 842754829 163300920 953210711 636870708 174321435 441379235 475852051 639637157 144689615 598316752 371750334 161652926 731787085 891681535 119974542 184003116 959367512 229208773 601224360 464056924 966932503 439238751 760785747 782343445 275192294 319819589 257809310 326035667 153556662 220423117 271913825 476314497 455463108 174382287 290220783 182120354 913407815 584648240 855859192 847212635 582044559 465395152 796865419 163024541 304435351 639559517 994082238 342595409 951558335 155933924 754774874 443220377 675568796 200494389 471306148 769915490 554998852 110042169 668979451 722572813 380822431 275017195 481225289 749015352 317437797 318917218 862721319 153341750 126703520 558907031 504616692 200347318 804327352 351747095 903923598 646368642 623214116 765163687 253947844 369574962 112154388 942570574 229070431 833631633 290193228 821045345 948214427 673440408 187616933 417908267 693995585 985030555 733302817 265073281 631982122 954278412 134107694 382795683 894882048 800777159 916069285 993711131 340771098 698769592 711692494 131160863 893698118 603518529 710885119 481966213 572301542 394695457 877678969 102329663 288950135 615137535 413640800 503614882 707778916 910247574 517555352 859118331 902076649 742108358 911359593 612474322 757431180 718589299 616693701 123966801 152139843 504174274 735222038 966885634 172475770 274498230 869947452 123038289 505861128 527625577 778636738 318418544 285384996 125399189 521478218 660233485 960010233 209273092 318280725 767620655 169097991 579073678 904667614 537727565 841769657 252514236 164485416 943222085 640472242 739592919 135023275 476500125 491439354 258811466 591434026 228574992 100346335 771966355 670071343 604962158 809927531 309718876 897983768 645474591 311823313 854779680 952391077 861595669 896710133 894015817 513325043 670859534 478024805 426303860 476749260 986267293 383912248 319389775 376080892 487908164 830740829 551950401 556601695 562154849 590292641 406665027 790445113 883881456 693925079 405689775 497924005 178641710 851084267 120291699 390240518 706267137 745382765 196107402 129872287 470084379 506960438 933540661 744486707 394735450 167820054 349495534 551687101 654688033 202875226 684828751 286466993 326251343 133171671 689096824 492115606 382374825 121457119 692166104 623790001 555696621 505051213 528324683 304933163 675069652 246194309 801931505 851546821 454898995 185487548 614476040 212263197 259802129 130321810 212378950 665495178 178387321 467252360 456585955 641209368 862547125 714043503 176499253 817098072 262754459 502573015 538583840 197973281 830683495 681268962 942215136 244355685 825176847 432259000 405434968 973596508 526702920 385057808 227322251 580424101 441928110 183480574 691175065 292117663 249879991 740084489 379068899 243236116 991473796 555392600 180307199 321882135 402977876 352403604 423396216 369236460 107296452 771348689 716280501 403256724 791989810 389833984 229349177 796724858 141770544 766444616 436254680 810677391 237740133 408563437 887191093 360439368 310896190 663801044 235931395 338991245 337267965 154839380 407855764 285452498 784225026 427451769 871142786 663296787 183708704 347254440 846754334 112487626 841926371 659996257 584109239 392956812 867803093 243798361 252859401 663263339 576513523 605940762 609427579 926602468 647716845 946381056 912256004 213373726 522218749 205124799 723363911 945658259 773492226 921906643 446648828 796660284 142751606 255433744 786130218 281590625 329829725 740230749 588144204 890785679 481951324 395866746 688192009 210388603 120905398 159178865 154286360 600321919 269286090 443270924 355966701 255023492 859243126 620725494 854238408 982712090 910931965 773608164 481640961 653048326 691686546 626628583 911196014 561658220 972845413 255874505 667822553 129650858 543041370 522506708 490669232 683486786 986644462 182198561 289783034 866792585 388500108 460986556 267991838 993563486 761528673 454334204 130983177 264412067 133696428 776261993 718225626 139040137 475281703 466421653 746311199 141031572 524436936 474595686 638522458 278934993 488239298 963691664 121922453 515433682 147858618 523726203 777138948 210528952 276895281 114975856 806868265 909346734 647464016 989204048 588505725 123258043 760974729 747453444 154202695 941566748 841844525 775383955 849918763 110130460 826405814 251129588 562956141 970454153 389725676 840098111 377651807 627977841 276932129 668901708 548948529 444396716 545378018 816255662 764915478 614482005 772982509 339519351 347852641 340007467 158517897 977518050 837398549 828572197 877819685 805364322 315754796 252808646 933549103 943189085 245109811 561525369 794299464 405016822 703414369 863409138 271546141 559619698 328196582 804159601 139847631 539316724 329557124 973495934 658755681 270365263 943360632 941270054 152657623 427432431 219033660 964117100 533756792 527997318 726798203 594098072 963142605 216787665 877530737 894537773 271012378 293779115 377640098 527349275 998454001 491698164 546302397 677845981 563207483 800392870 452135515 739927218 969979353 663496901 153176799 619591700 849367662 656203584 551075731 551691496 422522688 651421437 117578076 778699135 591711715 909507142 941333174 813416564 741943789 207150570 426644845 875762027 595726185 556684502 448789655 194022849 286773052 124782928 368901052 349857925 760015720 240373894 801889613 342066479 648786992 420642991 759515642 257914353 371150812 179197367 457555678 881184921 409109264 534700543 986290692 456644090 972552000 551415058 352802077 308998488 727129126 364776605 232224237 617500727 564373606 178250516 381908065 884955303 398424163 812009914 646604626 883040191 177719651 515841237 135552809 110512839 833827388 782937749 356304600 634023051 443048168 246348320 503298461 561863422 950037677 956080357 643820876 342792011 198905950 592404485 421521487 210793893 735548208 637104205 548471028 807772376 930249446 195833495 319852728 696586478 103203788 383234090 484342686 989574832 400246968 440152589 613247245 214774756 943184071 667962577 770143983 906839496 992458669 512900855 166710502 538842857 861035460 567552519 895993706 850561404 161692659 943912128 530023241 693232191 207737622 837849106 712162610 553702959 852696272 316678415 340199436 357089860 765491995 844976410 523439620 103649393 955510814 621074905 927801456 923635656 165606772 783301488 194891938 243130975 533064645 839299704 377051769 284112095 989113133 967979507 726481050 683544681 666947602 651384712 303330547 979423905 724407962 751009962 186424425 760574192 286312113 578120079 571608913 988780779 889852725 916197712 485380058 367109918 358140620 514842457 891865953 500505551 220404173 236695227 371504643 104358566 956429931 161541303 822051676 522200471 204019962 496718239 735297104 739924328 189457347 554961874 190327352 676159946 554005686 103528054 940754435 146325167 823337272 418772958 278868571 219147345 467135851 298772381 667876768 393655586 113905528 367924180 869694479 940910228 392120214 962792595 731042676 650876188 615209460 514382352 680258807 200233547 572376297 237057239 107337789 774778913 357990091 556591325 955040751 978939094 443687185 533238225 233954491 883370795 547982450 234425907 646308281 485521182 830591754 610507746 184706430 331606358 574888326 795419544 208074071 796936050 667541494 122889750 574960097 304341496 702304276 839297836 102290712 473688297 875019109 647868353 693515640 987400268 832192552 766716683 288556006 975568457 905285578 986342725 512007457 345300551 448170432 385286690 400349281 208878549 794939811 736589962 690493890 759119604 949767302 301591995 665828120 320478089 585022815 904140305 504016273 452264343 121727516 838334726 816396068 533011227 312954594 351973206 896398178 610387067 271519819 607070492 424736276 339124679 755786138 777198087 386325262 694817022 379580222 791035295 307014501 558975633 156674289 815030837 651946742 571395049 186808751 310969607 892319007 800128033 747156759 483239941 342855755 467079513 923568116 202927082 400087948 901816657 804600315 398717416 937347743 751595569 549738897 579870572 885886691 423866682 269643526 273822203 537484460 782762592 633995702 480707815 749011543 466133154 155264526 405866871 993119817 468104183 298143894 479916163 181111129 552094369 452246594 371379777 613111421 614525330 342282852 236827257 391464926 355340782 695944781 254337900 198345389 942522630 263393983 480229560 358140345 434513216 187481567 458407432 601538853 348401591 914895094 586547211 714003305 918568755 842815667 643655314 522181114 386338475 195089312 966513581 502253942 219483654 453095954 525603049 176912628 531629002 502190025 759308569 995347077 746934851 732975452 237372690 414366315 697355423 733113248 150325197 799515740 770625956 614907423 344647940 564138518 769699295 253194334 594712913 846876826 946640384 287908204 691225674 988221603 987689377 856615181 984772350 887343799 430646766 934601842 120124573 229392952 857970582 468958281 430374694 916728760 900153125 183106294 851290761 974493198 875626860 211724715 899874438 977319294 755176499 308702848 988607331 820853167 934134050 739720860 392213179 101160932 993014287 901067407 884388549 353387593 909747989 410785814 512120593 645605794 421345517 836112799 450698498 961226119 869100164 619045597 314903226 373050401 551169904 356829799 636202528 250346310 523888981 769639189 582812244 464236006 630459097 387704632 557620258 354192196 416418005 607684243 406346737 117284344 160576366 192482749 841872660 485745227 166004992 275686663 687805829 391495468 621815260 675142009 532680700 320488588 462435405 451275836 130264105 505242246 895501053 998122570 523521876 681649842 991073157 345605484 630208811 484971663 365046927 285246793 780695495 168038269 922244342 828718461 745499357 619359767 323964908 633532030 845711537 173675363 639989673 464548512 916077549 631786960 801340531 886026149 531008974 872440975 261208707 571403296 641485146 378728164 533874340 427053890 795087045 428345652 620463130 675907835 854390091 955781145 434058311 339084462 896460985 371978265 922991815 318138391 251682771 559316098 732913792 683478822 584929607 983060221 577382625 308023536 983616746 507070271 341798920 640130314 267128285 440533565 622873256 105967450 824794317 308741808 780268690 102650092 461084841 693389405 977974636 992793191 385784655 649340109 673884537 442733009 716010007 578130217 398646256 379928757 433643513 874523913 363043317 388980074 614174035 717421533 262778457 584921930 485603851 296692069 145805196 119386424 275337062 944056046 779104887 212093102 836419174 974249843 230193547 446098524 730761469 554661433 459952816 606373390 325093120 410212822 921368687 113260238 353747256 493261485 965571054 716207609 786827901 638162948 266775982 244532615 566001998 432844664 710972772 668925286 662076537 383936595 379610029 565591343 915194052 208121048 627907440 408022645 860582116 680398418 995892521 498229802 179931924 555188933 311735815 991784484 842151532 276330820 780877067 180232163 323984070 163287765 891510587 940018168 822184403 230743148 978384041 182641575 773934162 536898547 504566266 281355409 114757956 757413649 312266092 648086844 711940757 711828188 120111564 483265614 101185170 933277804 900988851 801634386 219313141 920407593 892114039 649056713 280805558 124307592 621691842 228691059 299325734 267292609 598923400 380208485 862167632 385888332 950632879 649015618 907150987 656264560 214344900 547226880 911217447 726638655 730608730 413883450 548328569 801279465 776715677 581458883 923292645 608227294 716415290 342220981 405847868 228180898 897275862 970869235 783763145 640141266 978355200 711363421 509921732 558196288 481565029 985260944 872195741 735069682 440423970 944686460 276070391 501907403 152807849 665868516 854026710 142448410 673039947 840591689 907418886 531607523 166422412 885380110 486180643 304020106 845443040 737568383 600622992 713241823 515927704 303146331 691233440 223441892 647712585 153654535 625913530 531162879 396553200 639063053 375305349 484034551 444989364 889137842 516367574 638327999 893721942 565773369 540352363 865662753 981639395 793534853 451967142 152449833 237351475 646626836 203847489 539884652 460714702 670319817 125837193 636109067 797907372 182266480 885184053 727112154 260163677 528249798 477641389 326285646 316251674 898763354 776575379 347823937 551579440 462873938 988317407 256798932 864808220 319411508 671024398 754549544 505402709 800335617 483146785 835981889 813603860 381521068 193610260 682525034 522223984 607933591 499933417 548746984 942953704 182838633 313969247 276323376 343754858 258207927 722168297 208262108 260624546 554833019 463509579 745430766 244564212 651520557 678567409 190360619 816143566 427173199 869041332 782710352 741461357 513887239 992015238 344638228 189268565 210504406 617964273 875716251 831070790 960137921 565850166 851038710 108855352 607616057 950482765 658595384 380359496 407009805 839049466 339609397 320825203 271199951 919569224 885216511 182185992 734513654 847251694 176265098 955863442 285263283 313874262 665704046 820468329 985038811 161254061 655592837 569277621 864457436 190163435 906106472 553576703 129227229 101716665 766960403 509182776 606179425 214130998 448531453 592977728 907264127 468239410 144792306 322572592 734796075 908631783 837060959 859945699 546299513 596813174 875179186 865858755 826251351 158348015 141702663 492485618 200652826 548832028 380054434 918046360 633057204 357167123 823849884 591340766 297086479 570060720 650278393 712474674 952130214 595613582 975865971 810080809 591843636 411620381 488920252 224127750 938053436 972699257 799227384 279945129 867678280 966690081 787508156 799871947 855145843 786628836 720246684 874663787 490892655 197433011 805976347 840185849 470647729 924625135 322780861 463890731 204481176 556045101 210324278 458997743 764428826 345568965 542035331 212200329 567158924 739510636 884514677 786703630 985712663 787640499 915402427 946470378 214545374 834811595 675353421 626735086 215556657 353614050 253938556 939507119 568006341 617015994 297947203 380772304 727221151 253343303 814926712 811312774 335327178 325538261 402943346 958730557 935363959 121863521 233170575 976491126 300901642 389914681 743041614 148757976 960319575 626019990 839659913 202760166 664912877 888223887 588075902 602853522 484681864 722340039 219771903 898607875 599488181 325264934 572097903 993616418 154637641 965717009 588173325 249738353 617036750 486236081 692324354 496533377 565885790 144864894 855319222 819490356 575115405 138178563 666930365 800233319 329383040 867473722 284145869 995944117 228623165 428415901 184702592 282493211 864284449 952219083 201339355 964922185 152720957 737836509 245970000 623303292 781797872 744474977 300182518 147984654 419437607 574825761 957871803 723519933 864858996 261453246 249716093 607554509 578245480 961360550 684106580 189523265 230276192 768948361 376631958 108052145 462026702 574519335 437358256 391466928 750864883 509282938 494499580 690761019 142148248 832493627 690160491 166527703 722442311 168205983 489937584 670321013 966708919 795222219 138559911 888216509 739827789 729665135 169469380 777109963 434947508 896995276 703956250 222050311 916552888 285868786 740774427 596892252 963208611 851258097 514513381 793230275 822708230 149835870 684203000 750645816 131654143 488954018 289081335 631625521 973531009 734539963 137911575 820912242 687552650 755332843 875482742 179086521 455558373 960295736 688695694 792385227 236497503 965678235 644071561 642418000 897105649 658301107 185864636 307278482 730857771 709901443 873247391 458261424 365964895 398501128 516831226 549031139 513932650 793734318 353822477 752236903 839343587 235908940 299744537 574141964 211582545 722769687 128666941 951006311 635695127 149214779 361730315 881962177 122551674 706567738 605996319 702819900 159596774 867798049 959923632 226657447 317330373 976301166 553665089 444529016 350806585 536080954 249858380 460144121 187254977 440463215 668539472 696061736 254296324 104161038 352039896 456285752 209779462 257307756 545611141 850790230 496865748 229383590 632988483 358524827 987495951 244438055 450818993 372633511 965801806 585955326 306878725 525429463 849812876 563358700 833553220 928888426 858233294 363330660 512223745 869833014 257347463 897872553 705694190 730850772 798878093 602145762 277571343 601446889 272328901 490657677 720738053 519229120 403419039 894308170 173766616 709667294 576577697 549718180 714076747 920447467 467729731 212606096 226691625 736536060 372217070 113203880 408524516 307331094 230716317 936113876 458998373 591722985 154869417 430690214 927076007 369215754 863931676 883775529 794878029 463076366 950977703 709699964 347633180 992554933 361994619 119034249 871147045 310232166 724452342 493900161 972009291 941884906 899835103 741476311 990649339 488470224 136074731 958132405 517581072 330210948 967606431 440345093 481358585 202928896 839946071 544745865 394359201 892358033 276727168 408218971 765503632 405487004 362860847 597852750 929649728 523506966 384846218 759539903 417503999 602326831 957450866 237773269 664250145 770247550 428089012 732505056 994081902 728678381 186247165 772877438 730946124 630034955 765639426 921385982 983761096 472554712 516991399 510995188 982567245 363479877 863619289 106098236 250334502 710789632 187491714 644716781 501601662 448670593 763033382 591583246 445528444 538683815 367804282 812544255 525954596 291995460 803032605 963504852 153523298 846433162 392907245 514213678 349360813 967580685 731443262 429141083 256309872 820291625 326797970 849307910 230165631 969365738 528071878 804097109 663757120 876642475 526020735 464136340 897252940 527396143 303378657 651603891 164275634 407944053 456621694 536688374 589157564 915128591 277826077 743192553 170597678 726503701 316292407 663889789 171336241 770478521 370890794 785814429 202707234 178666524 800518364 130083000 916848323 381088788 317244857 847443323 585804921 765727199 553657506 845729923 775317045 207558239 610621648 565810013 944167635 364121669 732552076 340462675 788213490 161781199 633860453 120587124 764858128 812738963 149200994 847752221 558701173 691772320 568234698 108119892 166877447 647710485 359165421 399124103 192297176 193214502 779815832 899702541 147337742 774127770 110705089 209005850 826481655 804386946 668944346 706626818 113882271 773220633 630325026 691342531 901388444 567625373 128177109 608554854 842356194 711338889 759613560 249584456 425608939 597725644 305728503 513819569 190387838 546792416 885346812 596631050 676476917 997327130 176381523 156675150 113095456 879980770 196867812 726176595 355216865 786806837 914409172 200073386 992274048 669387609 562117319 835911249 958677694 228722174 457861327 382315986 240447431 725344547 185893992 395728111 873440000 708906608 302050959 773780987 322771700 883981409 223591004 152704755 208175992 361566999 906634239 564042882 822686105 659526320 359531046 314679327 127133581 916732705 441298448 696161573 124798531 396146507 191902343 603264408 903179246 640083767 720281744 452967621 120421406 299794957 408127167 739828990 444507823 708950675 186183801 570843420 599529145 298219233 535781157 820611148 847202906 203331276 860097022 568916878 107388596 348201502 491577196 592941008 868544898 798555650 150115128 754562622 968138045 721840773 422494508 755762333 444178361 701437162 351494641 377302948 458804182 320916225 902609507 828529907 538831466 744558107 596300676 728989749 724110482 125551337 344497267 513373449 760533724 754915695 249535392 723067795 765643569 743871341 801059165 978657885 958115293 875422604 157851913 667334006 868888570 967671163 617570745 200221651 967844611 715075792 535707418 331262087 976841293 748557931 957377949 595079605 697211984 863349949 366841676 216780919 776562213 863807865 597412418 937484997 862115041 230356876 894543780 355430427 264309064 592736373 620284319 617118843 729077033 794646269 307210211 654302062 135365501 209996136 544523601 307268957 284834788 534262605 916141647 347292552 814701261 324621941 214257404 484315017 265677065 195214541 394451495 903692196 737396105 775266169 696263035 413954512 753268224 125199961 408559810 428083209 656413914 666197527 361869734 386795800 654644100 280301000 779147446 503165145 239552742 100205577 830608634 998848727 406487237 905272949 493704898 831237736 994707632 959755539 883663491 199074443 439121505 563797402 828884115 819733144 795786286 751304398 247626898 391062355 986552856 222499533 209892480 970724737 912681728 379337626 269335003 488508464 317754150 852135807 604473697 660292445 914144057 212764451 213108406 635102536 206419825 663092899 835476113 645019182 733525960 454223334 250595303 918845054 358603114 628788631 395602806 989275363 977744799 737949367 775692220 277848900 730131960 501450106 259889254 899046622 304360088 932108417 401075549 208851689 169318050 129192210 314382489 718876042 548633731 721272049 785065067 849072717 586209959 444368952 327257329 578203262 789472005 166747747 563448884 397051537 287180288 720198646 978520755 107771446 216712050 330000153 621882834 497958183 116187919 414770185 155035961 759724322 690176395 251872549 290571956 576686809 510305445 114968184 447364126 522073326 804210570 374046869 595843487 941368796 450987626 613751502 704567562 343780725 371666852 958266276 556310671 435889129 764568577 909738778 438671424 126735525 642573757 563625204 489303426 488623543 729348182 567862739 670129169 801494771 142981540 715562838 800615926 311919762 637273846 844473661 820693036 618307779 283859288 703934927 874732155 335450877 127820168 919860719 964860808 582406800 975655673 435159538 215262454 666136444 905863596 705561570 462922777 621123046 556181045 903075541 605655870 115352678 120498955 180275411 773638267 542556233 766552606 732934801 754426419 126937397 469022352 610858697 870291873 762410544 296478531 931713207 387315003 281535780 318796814 598744672 148919071 958530139 462715997 318244147 732495095 178972321 417038991 366280726 981445075 858863787 527983916 562851374 555618180 813929469 343359299 705948381 661538655 420788859 497799220 792786399 912661470 861013711 479300798 279895043 122191433 221320351 539425365 363554353 994373325 232836977 459747180 363971107 746835101 305620834 580028946 263869064 342345160 310471966 765751299 335246844 379195295 178656451 927983202 601249885 389880956 262082840 527207430 513702348 278155425 505345864 577446163 732215515 173611849 101949043 257589370 140287959 872307030 808175858 776528862 532835071 534623699 260361871 209757316 851172960 126378677 310055239 847298404 162001661 101397925 233888355 893007753 906895303 435893448 682010210 108539673 103849561 905996693 238964406 399082917 468327789 708110869 427846307 193327113 728959803 702163977 877038675 186375907 716156928 821943206 276747596 997050442 199457544 264592138 249631973 750598778 983702823 888902172 815157099 721113561 418165473 973371190 468486199 204828211 728071228 976665593 463744058 514123098 984468374 503913156 779718348 305737004 278499005 972354008 544742248 680160435 195512925 331850318 130520703 868984736 319725152 434585268 626536623 389014150 387074013 604920498 736436741 763424732 149752400 710149933 134552384 276185982 205782980 613048424 114562191 494427279 105841607 697648265 848219670 337378418 725909264 736975845 685358206 268785584 843737484 344545414 104189386 135678537 228403596 608982485 679665083 918121953 917680170 662917979 216511576 689204649 884309565 886475889 219854437 364253713 397476990 507808654 291888284 781302091 857075725 620993776 651010999 368378961 151082774 841068801 583786073 678475660 865470794 275625422 790156696 435375867 883397672 804824227 192490360 483972137 267809093 765231613 320516398 887534411 988447168 717683354 599300507 382586249 803696928 284213986 120038163 500070336 692710336 135720337 314783437 343707254 214581360 326659489 257902406 262940346 251789799 391379750 315067186 825613417 788020574 844028286 482314143 547234921 705662530 910072862 692479362 404439554 211954732 756756181 914628042 774550063 146009732 717108382 587255877 519250645 401927031 290452835 261866190 178073783 587723010 584106083 149410804 451031868 691408623 891571260 346998077 175697864 134893443 879809217 413084351 639604371 875451226 142686607 568693284 179746403 757862698 405044672 998189794 978031999 473650903 552229920 981985059 304818548 306046020 850380711 145935829 131688592 175537291 184790847 535759851 582735077 977412740 486499495 591201399 417576805 588727984 925386427 686329547 966343958 231405495 118101909 469952892 959093424 940841206 785894623 944711716 664502159 432701860 317442811 466205323 357711720 774911106 820816822 838891132 705381518 598858374 109223730 277644996 954115323 749441389 721653004 623596393 959302295 711877268 565713744 923864464 335856016 761408723 935199436 523304592 312760636 475842375 715036272 696907040 877455479 348817578 915763157 984966472 635689854 194138604 230687576 231530099 131374809 774395799 798166850 207990407 604960239 106892625 494011606 695887996 960976122 655141744 596001878 188620052 191699238 349850161 871420120 381113176 455178581 713001066 728403256 882120833 270331929 587671143 696269958 486045719 325128229 281913945 290075059 353936531 549191259 601841261 542142287 250775745 788002875 267888871 815002018 147568959 693407697 941613026 264372131 439555391 984791846 561144983 471217554 482327141 243391301 117016943 317152735 321362682 240879041 541269857 499978327 883840241 794278381 862569054 586731064 769575704 176356785 490403240 325026083 895781668 280920985 627353742 788208580 419234134 241050408 904850351 258905119 660473552 147608633 871305535 954541457 216732041 429052067 417425356 824605764 451852932 257792651 465686172 117160854 996766704 838527552 728116555 923010365 318567137 749745472 490301081 685097175 178802891 298575698 232666385 518336714 257388564 930000918 901058902 824683964 788075117 267531559 229980267 243993202 309041208 152948168 939416978 844923501 756112865 543798068 306796756 129534534 387567306 461902284 524143216 992014782 124085417 199133821 723096377 659563457 315921850 734963851 181657328 915962907 680589591 808377607 115685902 708615697 820908510 140361132 594218483 101834800 953878065 543751106 715318379 969951781 586788160 966020193 888151349 888335819 293450555 145926375 489725541 634314553 956351414 127175773 289693563 580222584 731213546 180864412 586045074 289181351 678060111 181998563 473133784 239198511 479738823 635267147 801765001 596193678 325977792 937286563 485341077 446278393 887097576 266538592 390916894 904528239 747334482 914385765 694185287 993535793 702391612 188913323 745287736 285800039 536849712 401079387 127617454 648142461 979999341 978176321 947333889 863575029 887753349 642679478 257377911 528106691 980587718 296557888 549370589 343574124 259616035 946640230 529778967 820985265 485163500 140231601 431573762 999173031 340415180 655451352 519428778 966215227 616225074 321900361 576823249 389241344 266741690 543147687 111885249 389954654 636034859 646419631 750523754 747943926 370878114 803345572 668464810 252415103 998354162 351886543 352426299 268348907 640839951 569393389 646298983 316024110 578814959 720695746 314669788 631953020 590028853 787395709 773106725 866537268 663401861 604363591 384990689 848607970 820533767 592969171 283024668 187174678 473622305 363068708 654505951 664772365 283162978 164916921 236026442 325788025 162194427 550945507 260575768 801386701 209835442 202849611 557962995 605909052 202676176 929095514 239099023 186761152 802530719 541420352 354732430 559093349 309763745 891986635 186341002 684932305 549143276 262052558 158191010 723373946 966144030 721779197 307078788 804128801 626934682 558841550 161565448 191573378 888943176 827155678 455705480 315803247 302057046 307764532 543020914 500010860 533787607 253651731 274520365 880028615 356049250 110905908 215462931 481608597 125084667 840815865 345562238 864987846 917356642 435561491 181346663 208436609 478962605 159493318 735121480 463632096 789017850 287255145 807087101 455942502 406750811 617480928 553279763 532068159 789351142 393892087 463070739 106838273 753596249 719597931 927583180 479747278 982589933 122329200 605279465 578697584 842775517 362488129 802638708 307289317 492260552 726951010 522440183 771525338 962168512 174457861 765089227 867236798 256378075 422205767 786960135 632549781 226068967 290603659 160911501 611674157 788558117 492962688 534808629 370553658 145022535 921206125 205173953 331078790 898162464 904331865 161507197 955022715 993851512 393605910 858177347 500633416 151230112 337439736 993836735 731081422 425627567 300724191 502295947 780063303 858228618 684595333 552242228 880355728 406304051 297384416 221260854 894817814 653411559 626753652 365599344 774412929 162237886 351409446 160062196 994404789 344550782 911763666 360678997 588093417 137543797 874127741 449790901 756640497 968458660 157564743 856530735 978174031 883258257 510619229 954540710 943007489 414247415 840749301 587224140 917264631 336141907 390075083 367474614 660741189 517266319 125433816 472898378 698138269 975403655 669505777 996409613 613475856 579527992 447832717 922502695 259015504 541010096 125705715 277758017 161246085 133360733 862708423 127613944 346428256 171516810 191900484 679991655 437970032 654175276 629307557 605721970 745127705 480419931 118521780 113756990 810357544 799270098 720071276 110483213 845418542 354344242 926473908 664640019 919812163 218277000 844334319 705916163 867568560 899154648 407190559 265859402 598149379 473156581 556117583 820614004 270560225 533209971 122031629 589855868 406641676 953312442 219910114 748447020 576200676 424773883 737034445 208530768 244068797 316169025 940775105 720449392 177321017 679259653 238535606 514620582 295792277 740981755 808659948 454141975 819140817 450294063 162700823 397929068 117780565 167068141 560922138 570438330 465644329 577067465 936752017 617973522 835414491 941602467 602858191 125794985 594201612 726816470 529206585 988853928 963319512 372555399 754192695 673813664 803637605 636742210 265176544 257957803 692250583 933521646 974134617 684983540 256905519 920037737 849309384 552701217 581229562 304481909 171318262 761646392 616670314 863456127 568674401 953379235 701331536 121652978 665176220 408603726 984221827 953373773 239599012 172838887 847311279 156749410 212427461 586455371 295816349 161511088 746653680 840206522 382226897 374106189 302457717 645917745 799908617 245916050 311002416 279520086 185498348 983697396 210084344 621617962 248471326 448504845 825991934 510999277 300812600 548072193 162519783 767112303 368647606 880887848 109073897 793489399 194468982 727593565 423863784 772063204 322122137 473139598 146338333 757422622 415793703 503062610 464685525 577603535 875971359 597577146 727322457 787820403 111636687 540619974 620851549 753885525 664505022 858927549 400807566 487098275 340548845 778717784 749871184 767854516 867616756 812971205 622302868 698430692 207641205 477006804 654035812 832563641 789938725 178631108 195633962 515928948 890106456 962175298 906442234 226811519 947057546 971945109 937726522 554657494 921699564 708727570 791493868 191767105 343946006 410158876 210234410 647075406 918179645 324662871 222425392 224307390 359000808 958578243 840822871 454375842 523222883 881101077 465430430 863395647 517083620 938616353 718843423 784545859 609612919 853582248 963405184 976505464 800290435 857231215 831693392 701744640 983675585 788097233 970082330 807261360 647094719 350631515 325304863 575052659 577509378 825029048 231913740 745314353 226517963 789194648 809456868 626276190 662606652 107303606 567956921 458211511 497317431 571830709 533895438 462144363 463890697 771426784 714871087 903439530 670188643 334704218 848644427 331278079 393957367 648011181 456454777 581357919 536153511 385670813 696523947 836058596 343064164 100460546 290359540 639990444 144053109 585610018 986992028 665863853 541524066 299222519 992875824 214977269 451832684 899279313 589654960 117056747 950249929 746758937 717093905 412446750 140574196 841499043 906832621 141379301 799614912 562234315 198388645 281156843 387569604 992302095 505286957 516376924 900122800 799662372 998745385 523129311 655967872 502795001 328262594 510206749 564513134 139954635 395219695 972870646 522027063 137823197 162719988 508886439 810860257 210209145 386321084 664566252 638092080 506136126 209875513 240963487 509974843 345369321 452625088 684812521 893084596 650932499 753378115 639986981 589738058 877311780 601167919 297599905 315300524 403953472 910898436 770700003 646325800 919098456 372666956 916380626 404592046 426491759 921896339 857388649 714266128 198906160 934409631 267616743 262834636 477957882 602332315 266761194 643331097 943942872 915444986 391227064 960432607 405901571 958579525 696092376 744199477 111503225 633286573 842753986 985786270 609852653 171664648 584226246 769165671 100368425 645077298 962604545 619150036 224752208 252912513 139466093 188306774 181920930 472442073 571650311 227981221 566200861 490985544 616738244 371098099 230498208 487245887 622108856 979088770 278135329 495322640 191616161 240168977 750637861 845833187 775866254 760275715 367378018 148757116 498316871 780035024 374612864 905562623 844867422 710392234 857849804 111626494 389448452 106592170 174971733 294391430 256494041 477602672 740339018 329511340 264839211 673007477 636943867 261232328 561135957 828000938 788090208 834111705 426401537 556652166 233623003 998050348 140891265 588744414 946956940 112283689 839411311 220054467 936390577 228317357 325531994 568420529 550655665 373177927 928662022 169516529 554600084 847786409 327231261 320918849 262122317 106810331 542079377 297938752 911416447 535288001 380451974 727343112 677369478 948049316 271319452 990150475 430526365 538938500 336253988 459104710 686254816 217450881 930492738 468029546 916032224 931279331 820705450 475076692 168800019 175855729 467610529 407034945 323651847 246469546 562108226 852381297 799538231 392896174 853189573 124597656 452455056 666163345 488315488 170684452 549519836 504964642 431026215 105222072 455841452 245639254 322534993 199226002 296561074 291230563 528801689 118894933 420915918 153791263 702257806 608360415 503672833 551321997 223578014 950714547 843305787 789311319 565475495 152980016 584839606 458248400 847670150 766438647 901065616 730948573 168415852 856961285 748908978 681349379 382535657 210951725 951304825 339606686 861152157 660877936 698698074 182792157 514378578 666062804 992764192 521539846 449216711 577966847 287944619 469205844 831672504 835408060 277598121 669836926 278464814 950337891 611407191 801848316 221687102 611486149 861753402 782086986 195325526 244356329 489178574 166829572 626386792 245161285 959725550 787760836 569717912 595384574 772046453 517318045 928126726 984550336 490006987 369960492 757151593 303715369 397289207 912693753 283385449 258861869 363057716 676388953 742345308 480382527 256897935 984526907 531765383 181513802 144609660 222743564 592466801 233844977 248045699 377375342 306986515 452082095 184118820 399631236 742868307 385239642 284695101 649467617 756524714 787338811 415985443 246783063 245798606 423922739 653838294 454899049 850455336 640750225 997045116 690486184 282135454 971501156 277829333 896913004 236220468 751285978 670797132 207561556 323880494 302871633 215859207 122542897 339339947 642128176 667294349 217718763 327024858 490290689 451706195 702820796 522394192 250763642 258675530 496278022 322701512 324231008 247308807 896468780 971797985 205168656 993392681 444346911 388887558 715551664 926070993 781136382 175524070 164720837 232489312 322714378 820793866 297858337 393909350 697350865 472786150 413759945 796455915 300267269 813682385 595655011 335795147 285834925 549830798 361911121 334815687 489343380 337710388 555696682 375687268 188871584 120485841 688515366 855296089 962263934 179338743 651191762 288041747 349928740 150544048 361919076 978197705 355640223 571487945 751957256 211962164 368926899 323210077 530733207 512537116 865882163 438231335 625329875 475049994 142079950 887922731 634768753 907121937 506548296 402852665 947317956 383733478 830495717 298366008 214574248 934407793 150324966 892090986 645781164 445769374 250966152 556413195 949583710 181251974 747175901 540078233 507029324 376591410 332706170 413892933 863644821 761719317 510427940 259250563 933922926 606020372 882119156 901670938 643626944 680743461 543083909 883263351 163282478 997905933 812068600 258094558 588123889 263394792 670361578 793005384 369371570 625803724 470145684 520058579 440392426 528957354 295794174 993611836 883347844 203461685 214624984 392177107 242467035 512554624 907455448 369772755 769863260 892262626 117820487 501089800 876459147 943363073 611910342 886410924 960062733 409433656 128202378 610951333 572675602 299207732 463696004 576065497 385948031 193926006 554740960 663540349 485910225 106621814 547344248 662312390 269756853 668692216 633455045 869590302 898442558 495040733 577804190 540899353 635733026 326472227 238428616 326368379 114443656 143800140 570040926 294913242 220778447 782875517 690715863 342638988 616656367 481151615 897648348 417618802 713047035 196374184 997750507 220247689 141851539 421216194 550065077 822109061 513577618 372583413 618544098 694319152 147219406 948389047 348942194 401667170 881325348 426831785 365832812 864904832 467491106 277854337 955815102 479025625 625111909 880279453 204502219 547087062 461792014 668772796 950501620 604681770 627369765 694087702 725375463 819571010 401818605 282646857 348156012 107209396 503733443 833996849 831439628 683546126 280391463 599634958 749005627 409029420 607790404 322942262 603097777 481834091 944903410 463455246 315532041 631358120 855752318 343752519 204435079 653518998 575049101 463498170 229714051 690007045 603443631 416653314 951897904 175179847 921853020 223585673 908173246 570496647 651416473 795169204 244470897 197125708 799786133 894728457 731635933 271913641 736256040 453274059 405278545 736336052 390075530 251265379 517139395 295287434 707846532 728959298 317717488 190048198 126472442 434455902 896796400 723143041 970011503 261769749 159847650 402645822 616567464 189605533 897851728 381830216 566977232 583141477 250029036 443932030 466742379 800783422 326204972 503350080 145301450 805354960 869316046 146566489 106586272 128124690 284177821 642690389 749700158 957046800 341121741 227422559 136574516 527771010 351021533 642631439 361513176 660362025 783874292 746502308 944161828 668349511 478752553 165934454 588640326 272310416 881312114 914447650 471699405 907321383 494849265 467414974 686119358 746970269 466591190 111446842 790998703 656746772 456764954 885678333 512446857 684995856 305993360 356615594 470473680 584222024 253575506 193171216 650037292 335335545 587083841 920276417 412270949 326961609 311074149 213042733 386558373 649787366 927463652 490242544 261719829 562646704 366771273 593375451 681207919 802405456 171180738 813201776 252715667 226458593 856561915 174112032 220580613 560577875 635010696 723231778 357742346 911683601 818578045 395307623 587463628 162106599 505375318 101451057 350537638 617195448 912972058 271142451 769019186 780981555 897333893 806731705 612079227 689462237 699956956 162168250 285653008 881268602 446191795 578684400 174321438 468459397 582260008 263144774 323788076 581914584 128844263 741152355 218365467 893543486 969807553 424989568 821967484 892055441 978034140 600590109 568411519 933801568 502178472 144176005 422554389 616844633 188121373 532108472 542898158 480434453 287935821 268216687 128082649 117225887 122516318 600465282 312409471 536407280 457869714 266169106 828306546 986183849 448107318 897470671 950768445 251429114 266224328 380980406 685905244 423471604 149806181 223627047 712274527 805641055 497207710 467985120 747239791 267241187 492150376 317659037 443436477 361203818 388170882 496193355 327757982 244019785 948312627 702840970 178503768 403825453 866190865 693643589 969843714 273778902 920218092 189023328 393453466 716771594 532329472 887999471 436279749 396013290 538720979 126717720 472364284 375827701 828330609 103506535 889016774 712400260 964309947 347602585 912785845 843310572 652080895 480558894 207609635 938887852 387863316 666852643 375941331 856755090 140117817 209969182 730563758 815764590 803874551 771139997 318885847 932314071 499988783 272296925 641899629 637592203 375772432 364633404 625627193 344371276 903102142 294486863 486260633 206931005 716487738 181718064 565136265 105335077 604206287 741990969 503219498 340466603 539335992 741938419 790033210 922937221 767814742 644774764 431034849 667522292 528490573 280179509 967489653 956249656 427523690 375309603 956418606 940980293 373468241 506355484 498450497 105680330 922817409 626552383 399347466 504094146 739265757 114047191 463157695 420732131 136176717 428693562 390927788 871630587 820821246 765569896 417259222 901219083 796463897 407531001 625083562 888926611 929577522 508268943 185824835 993199804 972557129 560158343 888019016 818481822 168265130 366092196 187006858 945085363 120874870 871405159 153015517 358615073 421867145 940335363 833304570 847035871 656783817 378815219 829011930 468664232 438492534 798964935 509685741 758261562 437368852 952715763 613874063 324762176 824235105 858036819 712910802 815351727 145607199 841227681 524779054 744414211 214730717 469272448 528150479 324390520 754795022 276061658 117084878 992042695 811934907 442347090 149175099 363033265 663539713 307878442 277684420 572702105 515660347 768756393 503334676 732709937 953501577 933586593 691915338 929484161 596932094 416526452 319506614 522906795 776697779 124412249 830345566 672173457 888720641 181561716 327870869 115249747 237272722 206322633 487501119 334721137 982297587 134350360 845712723 219985554 220191518 730487380 570063703 834840291 421773479 697322803 173115576 393917852 869987770 498744934 645216527 567039679 602538417 229333758 431664370 266043672 971329858 181264615 744863978 118977506 194459855 383818216 916741441 652521381 637435569 768962509 296624493 933411118 190398595 429956259 599810894 654741257 850411536 194675610 375188218 618467786 828637594 505298497 504210802 876763198 419768261 539296506 919425840 601125574 948176232 215231166 412648757 294475571 854960468 976798570 213601858 492647684 999817376 941819354 651208882 715316357 428995200 280335377 416682596 264168460 287324415 774330920 962744010 537127457 538573927 767935981 236512823 752049939 100634721 510882312 804368267 321721153 139811938 191650790 259450116 422551051 635410615 906179527 605895031 635222084 264651877 697516872 727037454 591799594 314294381 565670889 176352655 704413287 914391018 170012939 102256674 882981653 874856238 263739932 615581213 885341008 525346284 784765164 575533928 856972797 633089184 151752315 860914720 930259794 330672720 754036264 962845015 238669731 157647667 112728003 212245264 482876996 957872662 966870927 834357691 161717741 280207138 321795903 381153758 308934774 613929397 414887773 240231222 483639966 411843141 498617354 158179686 538952254 304636144 222600634 864788634 834928758 641760861 681243159 242256839 555689105 657008957 857901076 919085177 703496806 820193510 803184588 152310928 726980965 152994082 468982049 704081812 525568400 875012927 514852477 570493909 329505758 851666591 923783508 360504646 779769823 460739423 372187629 450326048 313831671 706362625 798966090 606765215 714312361 847331212 372086196 564134205 506228664 303210755 915827093 470265310 157540236 173330238 524824680 124681371 874486448 677249770 618357877 199199065 896082929 941274732 885727605 981642543 759678554 419312335 168903064 107649084 451811778 726174883 619228132 329723336 772399070 336042294 643201438 871501756 407337632 298546116 827657523 717109661 309867379 782504909 815062260 865917377 852436308 512970324 235766367 692346874 946108396 743663614 714635611 497081781 252890739 841691942 405897966 849743385 294719305 528363690 857995733 120599097 572871359 842202708 947330433 690739057 359621957 100200162 802847914 344574135 925511386 412986910 116740082 726686509 768207147 939079152 473122377 641564317 886573845 541650629 696708995 296715822 983242163 485812680 779724488 565825619 342557809 893371513 179253999 817267896 759951425 198867416 125471678 441164468 670444779 675568744 334886864 489671722 152308187 296731526 244471251 127088027 685498264 579256663 382493508 726819488 750792618 982700032 443766564 716077100 630079163 678149154 293945579 116496530 106807051 474290546 741265377 314331464 252466328 543338903 922941935 955310522 155973562 714208844 215881623 258794698 137521047 769943193 996477686 235044213 492349799 792640900 105790067 861535200 409146514 256663820 715898507 327442361 774567282 329718432 716790350 447442584 162019679 942440039 523314154 169370806 946573245 970497973 346089611 368673106 383311982 692394422 757919884 195550662 349396398 476601509 550549421 769114130 920673786 668594481 830081666 252581219 625600853 858595174 665853897 760501857 775096303 351796044 571338801 830618244 397377516 764330883 408077284 484377303 475984264 203293793 382565040 181667426 644196664 640728564 159602428 957103322 598546292 351219561 158777910 912012489 828951757 171914006 261074042 146981330 593179859 251210566 202943480 765464617 397514623 424530858 107685877 984852891 726493219 931023791 564904286 953875880 853237356 709476561 986933254 594930930 856068615 558648476 766203336 450500264 200021713 405752453 252875707 972803330 701180374 221593988 327294626 197595052 100059551 192585692 983503383 285242779 612466051 177152537 433386521 533698466 855966747 431306220 674842563 817385195 512980065 923861714 861633450 785141742 135040883 631114791 912258198 853401076 456843176 364182157 909807290 488305651 341990243 358732116 568282344 796495518 447172591 188556566 142983492 211706207 997122420 467252009 276289230 892229565 514184254 478084606 199089316 415758090 277914394 413849750 887559673 513093852 959628599 256706139 354411926 677359956 729001288 580028860 393629488 626674246 497191160 494656332 553427352 515149328 811602893 144652906 112447420 113072790 111718001 245813660 393633236 705639910 268852970 723894425 260204342 982839009 805335994 134178468 872778231 619976710 449710900 477150121 803995211 794957142 104624834 158950989 264833144 961161876 740002600 898481196 246401921 830495488 370544773 267904566 835926865 107947115 628521582 690305135 809062650 368337196 999980991 527058759 357252959 912849495 861098404 725701022 927057722 951970887 839319854 250442626 440219914 456478499 616273454 598432426 235549489 168901698 370578477 148676361 563937944 342661988 673333977 380945465 317966398 508121610 659957136 409207763 399091670 531553633 972700706 702642884 621307561 829820581 176154900 415456928 658601821 591800779 495134202 569894292 113638092 988494402 998164860 985631512 739367313 585910206 547025835 907454605 623278434 675396215 558393747 610048097 244780329 701334137 895719301 773450851 354439863 203967156 155748908 685797126 236604372 298774618 719519603 496864730 755439927 144626284 459445941 225363580 239489340 518900371 671068473 927421879 921697157 506843345 216524580 324367821 249735254 337625140 291301373 767727129 338043424 144750326 382524118 902690008 702456522 348271982 270133056 202117038 544776629 358181469 501225352 303803353 340793287 998002335 354487689 466854496 265364303 712692899 541166044 430415239 763353978 288709417 633792029 939883006 625642132 914441506 170046286 918395259 364020910 862244944 511334911 869153037 896083201 593276457 483870922 795645795 952790819 152781589 900529254 339547736 141715042 293114599 912977974 268649382 215175191 504802159 112583907 955901324 854321100 656702229 191131589 185205202 616585408 389495590 840228556 118131831 266906567 784008400 171823826 381586216 904643769 119297929 988818579 252363288 663093344 129741518 195960563 656969843 501572996 647138820 269034987 954322217 576041956 846576652 399159862 679344565 339056917 875798923 682170211 566299035 349985096 434778993 396089651 780816041 758469542 995659613 131143127 233345442 102353446 672935773 388308009 368424326 689607157 935162960 825319822 304810130 877109089 438331988 510647392 488514867 710063072 723711897 570165042 644814896 186080286 654473542 717294481 228036001 667634994 331170324 106724367 425759725 298367291 383333885 903346538 719676358 406963784 407609394 199971763 689737426 652902734 683527070 266027800 219788125 375304827 222106592 299613155 681172802 490568279 874313960 216372856 703456433 164256137 360675364 667420066 253385864 730750931 503094107 314682686 667138332 360542563 147807029 772829596 488150266 520361978 703397174 442893354 869513900 489467777 980241241 364602509 436482935 807743165 468101536 114128463 437503966 429416036 956806689 147241119 148774409 830423987 517106739 488206192 814960503 274136188 488110667 592621608 616922602 132678549 925641437 461075416 474382339 778118867 932090068 623175342 665403173 284315191 494122579 601258227 311424752 927396102 281841755 397046392 467973492 708637641 353555828 905103496 945676693 622936148 423350548 972003274 102129205 387502707 685669468 193629133 602916307 627017099 394692349 567209270 348833408 880739171 295984209 747516983 617666550 178557349 546001701 629798187 122771506 348576732 905471300 790173427 290794590 118347828 626399202 209967230 146633191 895222422 165396399 154300911 169549033 989076661 584447608 898452253 627287737 534731284 622696184 438385288 731597582 806201057 674483521 803953433 939189975 656166490 319052241 715187613 513870570 472289461 822542178 619902565 317773296 521725002 905742295 470028448 949444026 444739699 353838801 716997730 712413195 565252041 821378621 613621613 642852888 832771617 672099648 968257196 669188384 685096294 224651681 559821751 731144168 131499605 136277075 130530597 368541080 445514295 821833319 522049640 949892204 584630035 987157291 706839143 816779838 185337590 735082038 579378532 612981377 747811621 287946526 823099443 812641497 483466972 115205435 501801660 680532941 340353602 539408884 757775622 870013242 622314073 603081223 936683790 935426139 704258179 976380438 734252297 917671693 710577243 386408092 898477603 242663352 554352399 251122932 799624858 771090438 617739966 320310026 217310348 589997248 547904649 722363341 459266431 286281813 933352530 195417757 317138405 118671887 837907357 173756691 876794540 522167770 228521793 698822034 368560891 974317053 894795538 539907877 387641288 747013424 534304050 603717096 460401375 678361740 400640227 931770105 366495234 414592433 536978960 422570099 287699241 385406563 915711974 116115640 927241448 836045877 209705843 602174731 143712285 578251695 560988869 429583932 959736220 812871935 480444760 154104668 151555551 129787560 542061868 484979738 990782785 104025950 730253709 120590708 658700996 852323411 428973554 708639654 552211645 197196580 718336190 851806548 151351232 362036503 599967291 158752424 122951621 759947541 252918949 267898979 991654186 930691271 174618675 652083985 514000158 977866098 279465167 736103690 963111433 659998921 973275324 921228900 849605413 380098950 543186869 267526896 701688985 790778647 817485231 721298256 237307150 349923140 137328967 895010835 143849536 509777231 944439054 191765512 874191079 782704521 333059743 182351756 688995340 735618443 387192274 897916809 290212293 536762463 550444428 361366971 545469380 546434260 119404481 353043437 722162089 103661122 657274867 753393240 483548614 586081157 998409622 557590766 312754411 891172876 554272966 892714225 436658908 146705261 618273880 546185487 273018980 523347187 363996796 310277682 244820045 826189071 693735601 386443196 526359984 528898319 509398568 900338610 523446343 923850523 915876606 627689613 296085254 759852312 975080371 954046076 324668862 263111626 160362918 887510888 281850880 692262026 901474434 550235016 246431278 451802666 930712605 506363924 367322041 770811610 137081169 845688247 277968539 903842841 841766551 257291818 314111576 916867226 684452244 417712075 269661922 406453169 475420751 335637843 864337767 782429968 918356019 632644956 178749295 352014066 889081274 640661869 545777850 618196030 461934424 720306949 491858484 795550464 226554125 190109199 146294170 436799634 281391331 813959520 463467571 392600391 976828649 231210000 956946454 627853849 554797786 855619734 781606726 875962442 361234802 152827252 644930658 409495961 438423878 184457310 494091583 608102420 477012012 737749490 986081055 853569576 472464868 801129672 301021679 522248681 267499231 550452195 104080927 547672606 652846820 976514809 194982343 780316054 814587835 455287158 313589245 751306715 530561820 198800142 664721557 527614118 802467929 107242581 827204004 564611385 206881231 931183639 385403357 737778010 100205943 833540034 229649984 354707791 813283943 674905327 102746794 373997641 449746132 649269495 826084890 144983507 848709902 469353884 795192396 895106660 437142116 517685474 999532895 899300818 410792075 800050086 133526250 422924760 142950311 126660338 317910785 729899696 312461296 579757233 478412208 682658806 258454230 569309832 393691332 632827448 635093127 912401624 183177970 259122454 657793057 878354204 852161219 272687376 207590369 939555906 284478810 415582301 819375079 678868267 963845101 548778511 943121119 239156611 233757971 405047327 547812741 310984652 959956535 651221990 729230497 102674309 684800899 552530420 731224138 868508004 324619555 420173208 347946339 258406821 337974412 275705416 123121180 149339828 388158628 167258625 614984848 866709674 192026331 813526080 474112729 218527777 265078948 580955564 138360137 473163207 550910445 563602685 236292494 291261401 212232251 160880991 202558043 924334960 900701256 916885775 477184829 724883860 302419243 526113932 529299228 693653452 128157586 531961606 734981039 961689492 512131135 328977609 375363539 350192531 172182635 586256555 961001196 812933639 584134035 384026612 323228607 140668267 826613311 321318870 855778996 927626497 607889488 733195487 592598549 635499172 457568898 437804035 202863561 888810453 313661578 998496120 143523446 629989317 170613528 747739088 737058927 960422708 569955178 772512505 195300492 846524476 619113257 575247009 534418089 434565431 159079706 377123685 992455235 663244095 878339839 452742498 248745585 795384917 726386043 156428326 386905051 180354021 949770328 620026054 782751205 805012836 589893108 849571399 279049135 847863899 673038337 722090245 674318003 720028449 490503721 511402647 950078756 960477199 864509922 621373254 605054973 179860301 317420787 817228645 628656335 493549838 989420179 699971209 947751743 274472966 381231061 272813839 637775855 370243455 338162421 172926486 688423010 284242385 366756635 234448951 568982262 278679425 387255299 922051541 901254633 794404700 347137476 500476354 320700540 473565345 161600330 137035956 978112705 121173453 121335633 690180941 335785849 671384054 514853510 285883477 439997173 682832538 599441123 624219231 543845579 436609590 538144082 673785999 200058597 443660074 499871471 892847350 958892246 323725839 135198037 915290668 920253464 641858915 543785819 621536818 416301054 804510412 803059388 632692091 343977097 286055416 987975084 897109818 459363119 867114345 437195400 538456574 589488424 261190059 311563532 311853934 330071350 330350604 567803885 241353335 498055579 449794448 880938140 135334214 265035943 523711927 935539562 133695330 425898457 182457963 589257947 809856077 533667196 112917855 343002461 141305204 449741857 546442343 321880579 161643259 374279126 923834344 734763302 945460605 850816989 214971653 285765970 170647363 119984664 974035798 101468992 835549038 179931658 240794912 848236524 368777365 392921253 740093641 951330775 918840327 575048739 936924158 865094322 615800431 822290735 591139809 705557425 867385386 444939270 556845886 181026390 428029633 614263959 846913463 113463441 276021957 640926783 953760272 443095390 349914826 217256973 117449011 813645820 753536034 419741142 568563986 408866342 592300498 342826332 528911705 957716923 933625227 390915395 505318593 327795885 418603975 436476610 726864792 157633899 269177017 849133499 909417599 523609621 824532153 815501737 962776529 494024083 537695020 904843348 199838618 216004973 395423010 115979651 363437581 950698937 478270547 797420149 567507523 402748361 614947108 293062176 522846174 798538453 489511981 736967477 326516897 137893730 855420072 239177889 810904275 693534313 161578629 762072904 974893329 176747466 442522755 483327895 688726954 656265514 577445904 935113390 883454986 256579469 144050951 600359566 684297155 578344539 780708459 207427137 640481444 140788719 277248601 152410236 439556764 520675233 615900079 264024975 719285932 617233341 336574789 656858576 885787334 546782246 570789432 954867497 970001233 411983569 210767710 158729454 791698953 559184590 495707976 810369593 751438228 768319219 231844795 951168891 245719288 725788126 663772397 165579596 564394937 623513705 708423656 301122475 579284426 497319806 386637918 126050521 169578107 410995032 972761641 189087516 322148405 192209309 146568353 221605485 714330014 860105378 936538013 867566499 391031474 589154362 748944971 434973049 984074330 197366004 372378079 183845614 220044912 682818821 720743627 264989803 831167588 354796768 832022484 461211628 825404459 513097590 490124200 353231627 225210638 814333046 720518704 311073265 243737786 373330504 897852799 269427663 833414797 117672482 456211353 549088968 446313601 720719185 472569384 629107719 311131780 423953348 657772927 966111843 346266615 574592196 641999322 169005946 335856768 894619197 928984624 629287203 295109679 917186987 953541110 157258068 939722214 766216258 839592183 390668385 914601039 717528373 335662838 487520272 608194969 648637206 948940774 701327985 852371265 922531821 202156517 326958625 474481404 461741552 579799188 570446195 385921460 337391203 928459478 222857080 407998238 916988438 545561394 148048297 437308514 373936852 393551106 169901411 772434363 229148879 512523752 473051676 209455927 470838754 969184528 811299615 965756445 324200543 337556287 913819629 126763239 703776658 844411769 114855221 311170972 958984015 149447069 404145206 230388500 523632677 733203750 147419970 507044442 203409331 859128204 628228455 793722989 543527830 337775586 907681318 951335894 253917981 486843931 739196692 346991933 868189958 698651781 627736946 355854412 569799187 820086187 852154867 981882505 524413286 159602909 324766271 562541968 132365001 995517755 673762503 421103741 416033206 530350212 940072399 876967288 785255424 155085029 689443339 631666378 307775685 655388273 784356309 239395194 898095963 256299116 159155165 378099826 321646954 968413506 934959265 124656110 970835576 953282340 511283058 486839805 984239071 585653600 120214767 399566712 348384522 260611888 956634435 725835681 528309163 812480890 222617248 470412799 679879545 255438913 359349731 605213252 811212568 618927609 806711547 284724230 406711923 494558930 455208836 587772374 759251738 992012583 475115438 278443645 244102224 419719856 666312821 753560076 138514839 450422521 412558675 789325787 196731540 586900256 771177678 245004702 410856547 614154077 537928825 917199466 346226518 536038166 717148226 102626363 383481657 530583670 711010577 319365293 351611208 972021618 543884893 785988939 422606701 848646013 124899474 205028824 505528299 520661575 686280097 657955435 614945512 566703706 606993583 771121133 529029498 484571044 517016063 286756053 335150327 238046226 153685626 129921448 597636931 591586390 550102880 751718008 384625417 145228785 131241887 352094349 878100371 171768241 366533869 570557071 990167983 400079846 710663498 363068412 114439554 613687709 740757713 663251422 930131517 578254730 435510961 277587034 951237292 323458954 157998619 436049433 678467731 722655576 483453975 748009618 921781988 500171905 718000466 861141131 775529124 910699513 975205578 257968093 866715746 476099766 804657018 917171384 529883861 398000468 758607294 794516611 363813424 321861012 831476086 625989809 311931527 529184609 466469292 644552285 266978615 668918526 306994035 722421065 386255390 779235687 485737484 110383992 425287547 578565758 167407594 726853759 661729227 433466613 251196195 825007196 592311516 842955819 835243481 103096544 732580951 171836340 175388554 913214083 658664852 563569204 781456968 539557729 270547437 737523214 646891514 276342476 747157074 254425483 522427440 706072771 744032691 940947634 634661536 834394340 481587044 865357459 451185001 620705329 555271359 612681759 861942052 768458011 246669681 629681582 882529187 303084583 554886582 355513891 369219240 897935833 807027617 887302574 586837057 594447219 926745541 708800482 744510598 351712526 289109887 810139155 650812347 448388563 312217702 164913974 524881189 744281301 877446878 407696424 286137682 829475066 470469804 222148190 747588741 271340045 146812142 536074335 889257868 523472695 583260141 169043987 729372755 154990960 312712060 229791291 583870050 789587242 553471480 990211234 686236839 194630569 330414319 530820514 822561199 844143821 639117915 757310467 314347593 663358381 662775559 265661615 743059160 391130366 330333649 380045277 174578315 566133730 583599941 166555271 357171983 591166491 121860428 776299810 608498540 595823013 115133592 762372960 247247188 521319584 478082158 200495062 637056410 634844045 108867099 230383866 508412877 391994444 793101143 938190229 600499542 159427940 700602425 440189868 526513309 797810491 592971396 441313997 615064324 994732491 840460164 709270733 834574425 255163859 116664723 292592581 206336232 905368682 858009949 545299780 785062000 466014529 342190167 755806261 214815010 237199361 860743841 567929206 926511226 635226931 886377919 637204924 201811659 445548700 790620163 522712479 619512183 677828220 725443178 467408927 949786047 972277879 223056903 671099635 817283997 647620154 609210259 336214183 830796360 960368720 740457668 126810862 201829826 689626475 262431469 344538690 128405860 736972379 939314232 570518256 927548914 581094715 741298285 564564697 940221222 776227705 827604933 854105512 760543322 548254401 996416313 853984740 663307890 503297162 474088519 588951797 732267483 826459456 572358086 863930946 382777562 320235151 667836705 493132925 141501459 694631757 144566553 103971683 334439035 263429133 837915590 360786214 302949024 211721383 943604210 802076057 436571911 597788694 680390744 872048188 564286593 252351458 860531827 714543765 249648141 959533514 726642243 548851524 215809268 357396318 537291618 145034774 833171137 712788256 964863434 674962998 615603104 381912206 390368221 436980604 290178181 875128890 573965339 378515242 294069393 353414715 700939155 528458024 733751193 910061332 155771180 977284097 357554109 128081788 111524568 996155712 364502180 393705920 791827048 208127075 369979009 722421133 300187306 597186350 163110120 692926681 621449984 740108468 473791247 375184451 865602644 659966393 597389924 808299003 979460620 543924056 556192887 501564950 791893506 513411877 481719262 357460137 257270882 800007357 440994965 559813674 973102349 950285294 492089455 411203593 744702189 955581640 534942823 589001942 349240618 479870852 633940269 562113475 896478061 187149857 783145429 788741911 751108452 323872604 607985348 959810036 181160612 412192192 503786429 698821685 115551789 394888410 169509273 918591778 789380997 862194182 859260548 445726614 809526183 498112803 343119972 271779618 960757257 457643791 749360597 219395531 147697698 896492096 609715991 953412311 403972002 187681715 167701135 596452238 781684615 255879689 915164637 124282647 793364349 317344990 331475090 862746666 681248664 710387479 369545725 606196860 387237480 304929925 880085589 507631549 736592839 106466505 679001918 518606000 472747534 659348520 865336534 606100180 735645738 929713945 119760936 252874877 783123550 167631792 815283800 894816008 706508712 449776882 280015114 661615182 720601545 731084336 344130928 124832074 895722783 625754912 961956960 554102196 542189936 374324808 315229452 523496628 350444557 462759741 214491447 493585545 719993987 784644925 489411862 138527396 915799158 871472511 238524575 959064154 518590794 172709248 386396548 912674725 808620203 283695499 493562698 735991916 619388441 300438383 353509260 320546679 312162225 921913909 681548570 467140279 679950274 301922560 297278998 656672037 592431492 663743252 672069140 458198223 710600726 736651007 750596981 467171024 830475833 267180420 564066638 862079796 743096878 581499470 571453345 475848895 711081982 797660895 470796002 221394122 945486780 961225850 421856240 462480017 565828711 671334016 251455082 386014496 652412488 396474583 896283393 899584253 848828244 862147388 570694212 625535192 678542226 727054551 776665191 255108795 917114963 811712617 362235838 871782087 334843597 781426590 305902008 218747401 547616454 805467323 621680142 575111051 539720114 868018010 505042066 604776107 586250053 758888418 908779973 490677035 584779337 591397826 550813703 299929010 814970069 585281287 557672452 525713301 568389299 872438279 583141402 570887782 779117521 421429193 315684298 131696884 764678247 782574536 152970300 581579507 322646983 968399744 839699241 118060011 850795489 909881185 987305696 646922774 755729726 328852891 701394371 759435157 281754012 809384551 706729392 438868283 728618985 918904897 841601753 143668061 719838061 548916331 740633512 484217269 737057653 150364086 590931621 957277558 445835156 701436779 709926083 177772912 491273158 236201869 810100043 719942166 688922638 586835668 559212751 115661177 586282924 572014041 722162594 807153801 850229514 702172477 612936894 471495653 803931158 753269887 132027262 476880418 271463665 436508314 935903054 916591682 965774063 496750641 834297714 792826123 622189932 168502112 851664800 625688500 440169306 736245499 606221643 275256135 447532597 553937736 445466169 598145662 336260439 485111349 763478328 534700703 903202123 357694401 810932086 105482184 540385695 219419097 734303957 929355234 356140412 243130639 222197086 887759436 139445632 496701781 840446759 668782942 468400143 536441712 310603537 266437528 954839315 345520543 503121212 822579684 457999976 652372139 917366832 122750210 628372120 106792600 437495103 407105895 609902508 115887368 757346426 817481316 724178099 516576520 738575298 744910758 472598381 485446718 750848828 618673805 833004959 961757560 715468756 802839179 928935540 731886224 340049940 483530108 668318044 891072331 296789079 851228476 630389330 617856256 839175657 928282994 826398477 259956958 257826873 401005974 410600353 294870052 628515494 648075415 571274956 260413523 457651990 848452338 197843026 448114688 404133732 120601127 666388249 526445215 657767110 157952727 973229132 809356097 271587745 114556627 332256302 805690951 178615852 382931107 358953418 448585562 183328748 542038300 759826235 129972907 787696548 210344830 397380599 702345959 400485267 306535865 271446742 162866261 538022838 812212654 114996821 546784973 786159565 365497735 111430455 408335246 575773729 247767137 368079638 985562865 603681312 268081703 623459223 584157249 491837310 821880891 337267139 576784811 119438843 747109724 904390103 534562555 490237758 450801729 118056927 646432774 973684060 510714601 823912118 503564591 119865184 749730203 801281542 109479690 139521284 287561254 780683317 601622083 249531504 443851574 337009554 407334530 617175462 548522381 412216729 373434896 573804421 134454659 457590006 765746685 310105857 153830002 160588213 557828264 952959750 981792720 778281403 279163180 987431528 597285791 368650293 998104165 779831415 755346602 558514936 709321899 915988222 341541279 598632639 882646083 193676357 964819054 518772023 570369837 334429990 846675982 539748724 859184696 652761967 883817019 988670791 541847534 522426847 403138883 128841782 491043770 880311671 411624957 629157265 366603641 854326630 277084898 197984847 685676542 334873871 484666333 583339860 891281445 663688949 354312979 647500153 673205897 377233520 808380544 775932931 816256837 255399233 317303066 595874732 649299924 819965412 666201516 201198751 462492854 793161416 462837107 180600163 917456792 289153762 530389248 962037674 253311775 908406196 762027889 288622320 336499885 773386551 326528491 782173928 839406939 749749556 601417246 900854150 841773990 697391236 716025895 865721387 280320339 763640352 692163813 872021791 397273618 113639588 340077911 727378801 547783617 999531116 217380677 960288059 269003999 557030852 675578937 981766610 592919706 910162365 444133927 655974886 598461165 992734452 412559716 397247331 454347581 672669503 426060370 477952226 583531146 264417475 203974871 447508748 600984103 667021340 644781040 376500730 916379065 516708006 775630113 699480016 467013190 838003076 214112528 747825066 978539688 935119350 434714147 780897891 249022957 545853965 731307448 643460095 392004264 454078916 486490916 148716887 914349869 531878290 877670709 948680197 473488470 942160904 509207145 213325375 635520665 991762529 329842683 543322751 563080184 810106394 863343727 595515228 373088191 444690258 965499893 659846648 105528769 608943840 944709719 836996549 391261074 770407933 927940245 871064604 102991781 886956213 304747848 523850882 849326104 510641285 253783710 847561113 498473002 649967080 402560686 834498258 776724431 778953290 283642678 110245897 188065001 791468566 180582962 166144733 996812626 679894030 275584537 480824871 403024172 905842481 330554141 386131612 551638370 466541091 340846687 660698605 186455993 933965396 361576528 152515342 970452294 402178758 724226693 919781563 659473730 137305321 443724110 595621089 130678033 256085014 960352085 939657901 825414977 894314069 644369498 286591147 354843151 155914812 370515027 225884444 138299693 966197906 878688222 327488387 560516823 252737375 617603289 586660918 678488423 839145697 231896332 289325320 405078055 911222639 100921930 972053677 972982069 758520508 145864707 831153906 826868185 394409216 441000857 189212257 539808320 973783284 885270288 542832545 297154313 190949508 310248232 911880342 464887536 453180814 911361873 359254593 435133920 633030427 862199942 617670935 234493531 372084661 229376178 396918392 957723318 444457694 690787782 901919280 790436846 847908833 272506484 806688394 486236015 804530989 316667369 950563719 536269051 448710418 114925150 517543732 766944911 847416458 258240195 584912828 120325810 227112217 318127090 321216122 715944957 218599050 694658014 817356021 554973858 489929434 331434983 573095548 526758763 377952400 559683342 287016832 865815718 257239804 288163131 262858424 978588157 511619750 202842296 678916976 538669631 446648050 422066265 195416637 362375634 957136514 998207779 595711559 125360469 932321688 380593888 234572814 147031689 725975533 358572390 134332361 509888141 767730165 454793651 555705425 266605079 268556671 814779591 515588143 440577430 440071683 679653367 202463796 513532437 462969473 104443521 220871000 329748335 401371976 410952569 956789316 677923986 454974693 904967227 642598128 761489911 195570074 456251214 916616160 197319074 295132916 421440129 481735798 255097271 338319605 333180304 283633746 178800968 621682138 806110693 776848378 725625125 244804830 481919775 801806839 983517065 639264124 707294671 929695336 420372195 740545106 788050073 820096668 134346276 685092974 501108081 543040017 230631478 675677941 322627487 928609639 993688690 477655334 800753949 234336236 969165517 877711539 705225883 135713960 459453670 183771598 494196413 676744045 560636168 636504302 307508200 821078335 195853719 288127153 515221961 957873414 879416889 640959793 189674609 220151399 707966276 640727718 272399891 145214336 788574246 740991726 542083745 368057400 153463450 421874517 147331400 488242422 853882626 261281064 334908218 857967621 489957572 579810978 851244024 901258100 851457309 976057626 728195271 503672481 934784509 479578249 871002751 379312909 981696293 956912284 251573167 686173111 973457147 655793237 871007690 884391589 370420130 726422569 478056117 993322416 626383894 752077773 833801709 994492495 919113947 816589084 224960575 458046368 228636048 519317528 812846865 387976619 586795156 222969628 819538494 412938916 292302497 743412986 622932408 864512750 352214267 837461582 985036998 322347444 268431112 357379656 864226302 675194294 246545192 373682659 757947620 362392089 320957116 441300888 728972592 678425031 796940755 576808076 798157125 883148798 409946089 521131335 853196981 994776019 146994472 373055983 509231038 479546577 338382723 720829414 212822090 582193735 762941394 588131492 781362508 348724851 648941832 279865006 729531770 951680077 645762560 760406003 649835187 238091819 631262870 383924006 298383371 524045581 617171189 316547096 972039208 499014916 739628329 359315787 511270739 497755825 676437851 975609932 800318435 616525495 930469333 759168364 746772599 121760774 619706114 750186007 735259597 565855892 936697756 174773721 226201008 962632148 893431087 346620039 725710868 517987742 815253609 913786339 321311148 420938941 158288934 554124732 193981211 948438409 747414736 271648406 981488996 582434411 327625029 760958352 193940926 876346676 909695865 750720099 529391754 637572867 858522573 418140039 546181201 442985230 743542515 472560800 554685377 860589062 379186418 576325180 818462291 434916986 940965188 300088855 579257643 839296503 664473011 588120347 821398434 984517825 746123953 953193369 767443938 326933044 194890286 552667835 151708773 233013123 569661829 624011304 956600440 336902606 841067278 441920163 251824475 132287788 312809848 520011532 650362023 196309487 578748969 529348533 863403633 112879688 435723720 739896560 291606304 564484914 859316642 434149758 591692520 528442608 826210050 915568323 945394855 714505016 881267616 826023238 733991615 400357949 654931176 371343761 411068211 258708887 683957714 537763245 443078569 222560013 245006551 436167223 990579514 413560900 939507628 261006411 656359148 233820185 187788131 518363329 154885130 192930500 792317063 876963496 751306517 424776480 161399428 401096635 825405375 194211171 897328562 819884354 253331430 166840167 662482307 985824607 812102646 834055187 151474480 712087408 623415583 277139676 486085795 758310438 427468293 397940570 938005590 777919046 449550360 253983588 148638621 293546451 256292095 392300363 431261001 196331343 631429251 702374821 379179097 816838600 952069046 245776969 532353872 926984744 463884712 240630367 384298363 824959698 480717146 962227246 100763759 806139726 525040905 748017073 720932975 784649333 934244407 550707703 341463584 731552988 420094411 279659332 641652779 256182576 220745192 190075896 440113292 962156783 159674061 795165322 174597631 917344884 623284564 839541791 607804890 975520089 218388228 237488112 551456588 701563761 161701722 783871788 547018228 798910631 870185526 876946474 234474632 135849919 890724730 736778695 409457022 115369213 515492105 361406064 865497110 386207357 722451635 486339163 131866919 977460507 514826621 361977971 957491266 549578872 226758695 810178849 727538653 510107839 365288941 391344877 277167509 200435365 842947524 382726640 549390085 589765083 850126050 947163972 320334491 254704209 584963055 452800338 317455742 525414759 242705980 212434537 355131085 787395291 640498793 826145226 785590238 968811559 302845818 215489767 314333751 300369093 443234489 931393228 553410967 857551211 207289154 981716896 900415409 927802845 593341981 107983478 202538067 573062082 100749419 912416987 896575945 255596206 573252381 929024967 268594006 781908138 306237968 209766580 984472444 743053637 345986086 940226576 835331701 851397909 425606631 152469523 900828885 591730716 548491467 451658311 827950278 188394228 588006746 419850780 274740777 867157872 344586188 317105330 509343707 542496065 737004775 667233560 865134064 935061197 504646347 317065606 310598153 862289742 712754481 534050868 693275341 906094112 889813022 229709075 276275939 394266609 542905957 291684929 854913175 893815240 369278611 944853347 279807598 457073289 372230548 485098719 825875842 555444313 810062271 933490348 720130411 811082858 236255407 432613706 798088070 958858388 187518754 422138929 390195940 696817997 445595581 109404168 580456462 482268032 942892688 547150124 292430258 793181600 376883336 765365585 238572393 750078847 626025117 338688975 213479609 856161302 300006641 764145706 506777960 547001000 953830839 298905838 223609196 484479093 352150892 258019483 131596072 164366137 167166612 530256338 592929551 694308861 679814902 352466809 386781872 381456241 667262277 889795479 780633359 318764888 316666133 509438001 506276102 649144701 601216479 252524855 541922985 838666609 715740919 282701424 733931752 992505101 832383705 440491215 464010707 539082472 446449390 109820863 386293434 377501444 461823999 897827574 461133420 530321584 345897157 101928598 127828047 838134067 762908683 942257117 449525484 740928625 850331490 374393237 179744963 679064481 399858394 987013430 444457219 246664694 955236153 764132079 841656263 679231245 785773017 846498845 357221927 538788835 742425227 325990570 545303654 562410406 818832227 157994732 898446220 101614561 522289542 641118697 940137716 251770097 102824333 849190328 533464291 913824637 501649119 236002135 395428715 804939624 621782492 467399145 176493602 854176827 810095581 293726216 422990914 228645829 563816969 826640268 706715641 934425809 511324751 406828144 603729924 490715651 888359840 807858185 948630078 673997368 561512601 153520804 455645116 983330163 910477931 105643641 154364672 760741063 629945646 117074097 204885914 704254579 291465094 845882663 405029018 131856454 354195911 759473916 680970803 699436337 771485657 756805069 811999410 644832027 777348184 320530253 385824614 825709519 247375675 760553866 288537249 412349297 892407647 951598306 143248026 537839136 409142687 928632851 945231157 981183577 434650296 395894130 776518639 928574202 889245550 332199635 920653114 267359333 467479846 934185252 265583015 497449248 418790430 428238614 860861391 536509346 842465794 741487324 170797178 202016314 317083847 195249384 408409238 301029659 933050860 267510978 755691793 438852714 487023458 350145961 277118171 833771173 246618346 151942609 543624295 914439701 383899507 463787816 327675660 467636565 596178143 308859088 972713988 406360073 130491902 245342528 501387791 539204791 371618304 771777705 946836630 472655167 797887445 211222161 769165611 711403477 527503431 238225154 624222958 371483795 302016831 656143283 905547793 932525732 117606122 323556344 495239180 318001122 152966110 737092070 878265409 349834702 732688168 695004440 754839202 831637679 754103609 196507787 338891996 558136704 228424219 986497860 384591500 984395808 451046170 473925898 374638552 941279547 807949691 363656494 385691860 581212070 724706570 538951310 701776482 856832717 822762932 739752771 693267801 176589789 790883965 653393659 536588178 154479936 926671430 199473495 474504630 398640376 308004958 635292546 138477681 735319964 138625371 959840345 958995214 325547661 231361839 416740774 924932037 893704120 793840598 625806549 364862653 137589616 382282313 168360421 326277739 947004503 161795493 493338545 995800879 819012969 612318838 847737574 124590521 714246511 167210323 210859120 120874857 871444137 332084244 933402590 976324154 936179701 475439729 768161483 228227651 717338971 897552384 406067687 947945824 210163684 901327101 206294461 304170928 877519151 547278283 263423360 426259782 525509041 607579977 496794216 378551145 986415745 455616327 758822298 294247012 612507348 124927645 996459575 475280791 955567125 313719904 192137470 951112326 675996953 648197928 297929354 463228252 144130586 942559660 805471804 321812140 511772009 270321690 484160141 381711584 617806806 619098632 514705753 821313955 732767439 609981460 689885544 715531997 440198005 535730410 317593407 791573378 616424616 176405853 649894240 149001691 865223643 964035978 237588855 879878206 801517104 854745298 983194709 332516015 147172769 733393468 325229784 667161587 840260152 747942490 106477567 780155060 187648730 789493967 844439774 495351313 366235259 825160854 153285650 459782727 970155871 373288545 500455817 449453519 743287570 424174898 917161523 366288688 135011014 274528502 628201643 643187930 604575606 328991005 404676098 300680624 465710127 995319267 103572308 652183498 558452934 739635282 408666476 234205215 153904311 957791131 303638554 888109471 503856488 811983968 318087699 553140359 288403621 914946291 992731271 758963544 883887108 846743917 434915400 502972534 889441719 109522164 657759539 852274901 937832315 328189644 266012555 870939929 130289526 322608997 682220566 832187074 978439025 691791876 223787953 299864969 680747170 261866996 232976085 691018827 893444497 805519749 538815977 301106457 566608315 220189880 255766156 270362841 111869800 380982421 375927922 816682861 865898254 550076258 222989280 904729126 215954109 940578103 113705797 810795458 857368091 226773606 170529811 157693607 756288467 550282530 157212335 363112411 674719812 298483018 897131436 666151147 570753895 650679159 227276390 795062054 425605234 715439913 542716934 236123225 122659460 596589305 736212949 673112326 672520457 660452062 671535809 860497218 640311576 220706050 818056214 365873556 858921795 503399903 794659747 679217540 996162284 286090502 638554155 979795909 154422615 457290886 315023506 933222929 351239176 933450893 841114564 615052518 885452440 422318143 858723881 463072820 268700951 957517465 954876213 702601965 413116596 181619652 840473316 399527961 339697066 317652536 718340670 617777999 189381401 197858888 287707351 797898552 540723532 655745829 933847201 961801700 693290287 177221759 829833106 432735296 415453145 372277732 645584398 469001974 669041280 785385077 573565169 479862515 957770688 182070920 432261036 366262745 614827006 558189846 941887057 454002453 908916951 411082706 602922772 265357183 554415335 866006835 833118319 561796594 829603131 114616272 804889849 726565528 960941326 117721736 743921014 320288270 763675245 391177955 334203782 497875852 686177345 653111535 506267926 961191789 680056385 150549030 390132120 675807433 936313034 757910283 337439081 845776779 320515981 975519088 582348729 327124901 833904629 887466192 817113746 471579000 535454692 451728658 340447894 489896963 405534546 477534436 325603542 648748428 166807251 539039747 763081415 259840280 144978202 236638218 720286500 154564602 188193454 185823844 771170328 932130917 185804147 749373343 792928074 624470588 965647735 127289447 303206679 246211168 799211823 386092426 521801925 762820455 694978611 488687931 189987448 948441803 176467606 586893038 435207737 588552439 498493086 471982309 230861949 638877957 251501367 529152217 547272119 817335157 326345610 640404594 727872827 736978018 245111245 415653799 893565642 903707211 320055706 974426187 917669748 187301393 764827641 833162072 867889011 296242581 120916422 126941600 567336541 525587994 431547675 818892466 903130589 687743043 202315195 566514484 972342262 196849932 322245106 943268552 194694262 330267019 962569195 639507891 456550600 433103203 165641570 818121168 367891015 820535628 487698272 622526805 192394715 982297777 257214161 627505851 786834249 753909481 750451213 166103386 913511201 141906397 791133394 309222653 290818422 145775650 784002091 961185309 347279448 304143673 326038930 283909744 155615262 472939193 912412187 390154415 573785485 568266334 694313377 815459467 408905767 603867686 875592641 969598269 955933395 937772781 402129345 649849531 457003415 575210587 592979313 678659408 431399041 197865062 933239279 107874458 823836503 604576296 436739044 157299539 973265191 419652903 729118330 712851757 983360899 489256349 487202386 247501294 887280664 921020490 524204405 935266794 488649330 511391553 516582742 402300952 575434202 563908389 968611436 254636478 883933233 735679889 389679201 533773427 122219233 959817006 465530322 800352832 526859153 498664593 489184312 464874679 143904283 252447645 501337417 181646667 211011024 100084702 428160719 869305231 488995223 997281646 320915445 965533855 435142401 772019667 966969049 327923328 225808373 240485351 103221883 692548252 305939158 905387810 421747758 393326433 963599114 232998469 102573754 719946782 163396090 351693289 761048145 358788354 603951517 106874505 275238722 629917668 378398096 405570600 690267791 643096275 913174705 256942228 167737210 680500273 549716978 820900825 439790765 885374634 403239897 774915624 276030600 294539925 494061746 262263160 700614311 653098204 934389353 362642260 468478791 174701485 757917984 115303248 680840702 415772993 160179302 698860275 666538236 100429096 527160488 114399052 796535461 589864976 306600319 459565322 927691746 746128181 478101333 197299991 266777800 392706573 887739631 209695844 468217827 778536323 737892997 780753328 819569910 954353904 352129482 208877368 803618411 845693196 870506969 827258067 860478823 978350433 697125627 238618855 148742219 266851455 563795708 933768704 913431989 935427469 858002633 780583398 442579209 874952216 949881728 366790456 670791562 372378394 880715704 872275713 260421396 537674328 770059524 407916419 407173022 145982211 727233601 825433277 576508794 602832869 765102321 442611318 998662057 457323860 583754697 414380929 401550314 996880342 730653239 339737765 836076100 658303933 858971595 167130007 541516212 297903548 127455707 252084406 952214236 104637021 424466830 485265983 605589878 151305592 799244638 973414842 526927703 180534895 441166457 938746562 390979995 164359301 539959652 710392617 500047576 553073075 503953617 597232571 657931123 943193106 459748059 881471386 176858899 726957786 915517584 600635953 558633533 483105191 468002333 887799023 890006441 503558104 472748099 695727121 502159658 237184155 309059080 873716637 477984515 358512300 298350967 605708649 441071570 246768648 543568645 788152213 407342553 982483738 993361852 314330606 516093792 846103226 752616342 760173099 872392789 200002080 405528120 628323159 967504238 211526170 246069371 428401698 505687482 249469602 389684566 422607101 192143685 674812769 741938577 998766585 139010014 107026604 529480408 428926585 895317890 449820507 665576815 425581119 883249273 574630192 185791755 874697782 314858499 380702484 133779576 759698298 699951945 487499177 458930100 401363537 193082452 277225402 348871130 832446155 927540035 785949388 753287812 146494631 772292026 402298147 308806224 658826885 743275233 388409454 634939904 755081866 914037130 179402535 688761932 589946849 398366189 634557697 383008808 669602519 811125301 381647025 546047797 816146499 440329422 709281450 487605274 257525669 178705418 591622720 932624711 499610850 541393616 206505557 801664755 590384555 529787255 830358110 416784521 362345702 129558729 271087992 148960024 259169236 259982684 404618472 327627843 527581859 742226225 913729648 456583997 311074531 685889761 406123894 190088133 194218087 419790575 553119610 591918594 520175066 518889331 744683635 121677994 907163536 949070337 525584772 480348701 676480302 173508418 653072406 255174108 293529202 200136085 447531678 660152913 823927232 250933169 944974901 447426125 646303102 482104647 887804864 368450028 451689172 372864619 633124148 793738769 899445934 497367462 912563184 632519373 899948620 681862746 798676062 686179287 753334424 810582852 368007079 766376466 859287228 134524892 121278775 502308737 875461370 435628276 777587092 203207113 981814465 959829538 861971999 729118008 444802856 849620049 897614791 862239403 251422577 468325563 125206844 327517017 280164575 544418925 412158054 721322612 542978887 793415734 953185224 443582989 424326401 852602428 258525702 163291481 295235004 498086576 855601974 233566196 454709601 154193725 660681481 527095764 504854980 374775467 703274118 277128054 652329432 859307995 378093602 586218313 470648450 127635289 571963453 967797503 837740980 664122089 848318806 699545432 241808228 942056971 390122686 355624348 416731633 531990285 812841253 897025525 883081858 256445692 341183221 749556681 522558838 913556738 588119914 639476193 937374855 201452668 531907176 700229935 390651939 145521654 726796631 730367988 189697972 654132716 956465159 315352102 147194664 478720174 415371992 606978172 184061988 118671582 758844664 573262778 882132752 131822561 657806656 182462806 242876135 455218874 101173796 104713442 666666393 403948619 973026309 245428089 267196613 234389252 753330258 355354788 868097216 280279213 121939325 538427444 145294237 789421769 735480762 775627091 398450438 802893899 583281452 229752508 111411528 310410258 152559857 632132085 922355063 907168506 917758068 713185930 613721203 721771654 773611841 439688136 607044805 915211922 436666990 234115626 685540221 674922053 946633860 522618570 890262290 551251902 918080075 374444852 383062932 503463164 568793656 351293822 334334838 953994127 506969441 368886320 117094588 623347606 531054417 499761975 399565008 930239972 672703271 448619705 281961025 752667942 466741336 814247958 748066065 380140707 712501941 400526144 827195524 445004856 889233809 977846760 116821494 869895390 495557976 978634770 781146834 436016001 795490092 734170684 367867883 149274767 271091175 643483666 974233187 810397676 647498919 800919765 713669735 418793292 998909320 276989539 859540460 602895915 964128947 453566551 445089620 840481727 625197454 607595465 168406720 705996449 702818232 427267982 216529736 780836627 138323019 198251650 624049883 470052024 302057921 510915674 812849121 861968189 715279813 877032799 898851247 186284575 157178266 596984362 394240938 217333457 747670669 374170370 713393402 614028059 667639379 130444656 663078698 633191383 895304132 979329727 937574784 194977369 537752369 392481819 847990597 497546462 242286459 572917096 990196998 291426698 266100925 941429628 141483111 254572799 394844849 679749072 667777678 806610808 455189817 101571953 934521415 251028934 276557628 397667026 203092510 465840410 764147290 246004260 956747039 938683755 749391006 979652834 535650445 536127557 777516695 337365203 485566413 368710301 178080301 330613806 459527204 236304195 160869078 948624940 652948948 581747364 729978089 995714354 502144245 351805915 239430004 170424307 291036642 871337486 342933221 885375428 613690674 137046531 456491007 342177548 256716457 201590285 606870886 230242941 602645313 596070878 388608997 705744997 704076017 508042287 722991831 142744520 652583105 772960162 697492978 742195226 415101894 970571854 700954761 969296084 994627824 770140120 502172368 598006685 932350056 111822346 598770120 835989354 976371252 291419484 648413910 806838368 379133590 799488046 776139433 618473100 302346997 192875088 518846727 149130114 247721012 860683393 447783577 720951692 623355272 417009599 473982761 233575025 535420586 131550950 802821098 399697073 418937545 853186949 877507156 343827660 865085356 600405812 257003108 100827567 192327187 738875207 715053588 772672957 290870893 762556357 930608848 460614168 924508083 437123957 940235520 963558379 993450114 811305379 371890025 254323783 719705114 460881688 929905634 572851365 980200146 566792953 814983014 501892969 189154662 100492232 425231616 954272641 789571224 975749476 487171744 263414865 670510225 151064502 972757660 234000838 233138455 608932822 793955803 729933728 150533487 928474131 324763023 579721995 192721032 753263396 935112020 577498592 221575709 449512244 222926015 546347141 601308081 835646855 923319741 470144400 827056663 416370127 555781086 999715335 524760567 746703548 673985593 160402385 222416841 544964935 872458287 726617783 889340016 901599761 266931112 383090648 644877784 374218735 857520059 382438087 523696328 541168603 707447040 793220312 433988603 555938638 731155134 775127745 618147583 250859600 140548497 102879753 322183369 383911293 298572263 187488410 428995674 536605158 259086996 806891921 477328942 782172135 514056135 679119427 128089380 942276014 948662351 495921732 422633914 241752424 743793769 266648284 799256236 113643322 665090082 653163299 426734546 860921892 421527105 187770303 115042894 901251842 232644594 525873596 561554409 380330359 373952183 573005698 779937851 436591899 219020910 499880430 769788887 273825088 928526917 147000968 574619252 183313775 204174082 494519586 981219615 339428842 296675835 590915652 631538128 314073381 907574833 504926443 655709808 462568009 168826051 584744413 962261726 885005521 933347667 680697929 510691876 455657416 139687146 130470329 744556599 564172529 393800900 346338860 443949053 749252299 199715740 622516556 618397132 577022248 672870545 481402743 514507697 568299439 759226321 999021046 210201980 250116765 822982898 405054037 928596184 144360120 776013284 222072519 577722767 762607930 101226928 635933835 172807815 405446120 656399088 604330663 143933695 645633699 900933668 840290554 876724710 517880887 517727299 801729755 428824951 413176915 535706484 107581438 377086407 910758157 328513402 819956985 240559103 235888838 610843921 861723676 399032914 839458009 474226649 895115251 253976027 314953441 401990302 992999050 868247498 735093298 838360977 329589284 384946923 225763469 875629857 759069808 429815639 978593316 158080873 947077706 451587000 924905548 336013439 444471000 959984767 915929817 284810774 994906105 897023467 582016647 591536126 750521639 389657342 185112025 734244856 369427538 833706427 363713633 199298730 531108671 431660377 928716900 625445796 612352114 934313844 780903185 204555148 842401125 538356291 316516052 357232197 128055486 490600499 602935291 328917431 858335310 728189998 262801863 205123075 394710847 985300910 287048167 301744697 436551062 918850766 581203668 190070975 637102215 349534069 758532203 993260829 234436121 824017305 164251582 194009676 245830927 638630716 487206759 500543791 471181968 695888167 791042900 161083320 198152170 618358586 632500650 288547022 541866461 522738971 556404401 251672727 471289220 773331946 841878495 179702352 451847012 184243655 875205161 329916531 516980990 441879846 107809907 653886554 422701966 497207553 604358856 934699304 633531827 768247453 812314530 424382924 536047702 898818664 845066758 955138039 416507411 145060949 630475930 629532942 257229414 637394230 418483162 502524336 698688644 266677738 878142911 728173280 600862005 603833404 173524286 890691808 785008777 368021071 853932708 593330912 587674061 125083790 691419264 136170660 802602730 716349982 117361606 246329339 576718395 198442692 887521354 656449400 255869485 253770966 192698038 296462993 907177089 302882793 794193856 102841721 107879055 306135304 159024844 723754191 763394025 707554112 230670950 972950937 880303103 442465604 145144100 330270119 215969144 147102553 205491763 918705125 719611446 420326677 375439288 279062282 743153379 363254161 428225444 683310568 772722231 119945478 135405394 113577083 235455665 854709324 257424373 552872967 384790568 494276304 438163242 313884654 124132517 336553273 452437960 657990209 712999921 163106465 522363199 201403401 264711585 759035490 305049175 830371309 366663360 978326534 137127264 918343157 337176238 991808993 296102391 199907105 979942062 519050696 896817472 576222982 345214908 678136837 119866813 785196716 903904019 462417100 414782687 335864172 406608388 779429197 321598592 753715646 134268332 536425768 618975139 338549592 622318456 207008970 252740457 189504019 982415111 433018955 717556220 789963378 123329712 949047335 156925394 176291818 366148939 585627423 740967056 548223411 743981609 910225254 925071720 356914202 509665976 604191103 843376742 755748199 783335396 715976347 758725365 172205879 170522497 724229066 158917125 442165466 731076678 157358275 220071474 408784155 599410497 760610700 692962015 553451606 492532885 606697809 963734167 534239591 704041234 226388553 298438389 240888700 204332433 858822838 362203410 728896401 557013356 515731271 541166003 735037276 527612791 908854623 357648248 670197612 632218129 540931223 933583487 848027512 299080900 525447269 219402536 556745435 789400637 942262060 155174356 817345455 217127394 515654406 513738767 748309636 320145839 500141364 549242875 720898194 983254927 749073409 250755026 487822911 106783485 724182318 630732220 124206616 512398734 243127708 766808536 405691934 235621306 741754984 778955168 513093872 806886803 668829394 862132225 744247655 236258239 852654911 615581369 701013028 215737179 423495384 166539177 783536264 168228854 566939704 658175108 160596544 525082881 844508115 693462477 844357382 924353037 372550845 622662203 416198476 888102203 792319924 328170374 533871642 527528814 782033376 546745835 504694643 923755445 754050830 472044007 771988350 383675437 179879250 662273288 635552743 130346886 121247727 573111076 339507319 347516046 570383963 774688063 171487558 404540987 366288761 386631914 668804620 645578066 991134245 703126917 514438789 207822513 997113175 465608190 320269911 787632360 234878291 167536313 250339124 866634504 527302967 290785286 149173160 225930710 674842647 408198345 648123385 278818008 328431597 868512467 920252060 418742887 459232037 265970935 756808690 218367599 817054108 449370034 424542411 180914551 299092975 643312954 122284732 986911753 823616576 193926744 645273129 471091553 106291577 784314048 533141382 733778947 190187913 530372617 755776219 783028452 467703452 727449396 398898608 494737473 744031781 134895855 229472395 161910456 768873575 276113770 144675471 452043026 313404578 671141369 166870278 285942251 118518821 171454611 909938299 507257735 953331380 682811252 616463842 964778019 511746228 108296637 420670942 528153908 425004532 898075358 753046449 460166565 607564238 945582831 337478942 585692729 300520157 290007897 399343378 252423205 433701247 741332658 596087873 234603950 525151466 616561274 721009445 596507216 763940901 490052584 723298462 468737244 563552286 451198195 821172486 127470692 537417574 152820695 879306634 451896755 673967270 546166373 291888068 529388651 929680991 202271302 920818519 954990351 835783714 607939054 629935755 192057299 506568470 245304208 512462293 135972235 322971826 895838571 665404573 307831162 425471432 134709277 171731817 463275307 930052812 724191888 419138392 851958372 275677079 448831660 529176034 549025071 684273622 264231748 936186817 222800659 436243938 950584992 655741506 401395348 914573073 523070766 793955977 294060731 479646703 335116985 680867732 495403237 688187665 312207888 524517081 292555011 791961318 434740522 660608391 370866578 141612492 173178561 230639873 417678109 192558799 582702294 259235553 599970791 782739150 383277709 763026396 663447094 122876185 600239733 495912284 486870389 584606141 586979286 873513725 381547730 923287775 823901211 737743303 987415811 877098347 200973499 289312070 272061039 372129390 920481239 425569215 214606844 720178065 746753657 144280795 696909582 290318082 479148553 979832195 472452235 963781641 903995538 645680977 706199733 678065474 646348298 344816436 188365699 832419887 793239921 242730239 643128854 474684076 796365378 930058253 530137213 982334054 738159885 495302913 412484219 908478300 914919131 780609160 177294136 915986069 205453803 247006346 810168005 764106374 211883703 831647855 258924939 547854924 151267631 232974564 397350183 702629259 125012128 472512360 916334267 588321168 199828139 896341787 746054127 178731734 625321523 599132883 346926635 413766221 991998677 983371907 878181727 594117284 208426411 472824742 304132299 668811421 229421923 497386880 452978227 530780855 598600451 395998577 933733587 941891817 688913688 547721036 228595875 949857035 113078931 918961663 324159733 669894898 533443578 203691118 559269194 369657253 321413152 818214411 250282795 538627097 214103410 102629006 888585681 949448247 791480894 232076345 503408250 742625454 421318943 185480538 438824544 319328311 694526080 161516325 189038308 867469621 672617374 927301736 878879468 957418507 759297096 921671911 857793062 771031030 649041466 429920558 731678896 869241330 970220244 747204707 417839365 506611487 840180488 968477967 489148461 966152923 695271825 371102469 746540521 260478389 933016669 389816413 670116103 987231672 447869153 996464756 332577685 324805875 725890738 906281146 125735490 571582068 465045520 465147131 350808538 954656736 423741814 557012686 825296279 675479048 130036060 459345016 802261831 799612838 309920283 468229586 295752346 624589516 681404783 605711931 864826877 659737101 152208806 448525142 930360738 363598641 479479075 446442973 345726735 401896094 307372770 937579891 707986813 544997080 336444597 475956623 256187797 984402748 768688782 822459232 182238186 762283608 364665687 219627338 114176983 983612546 935887836 894730537 598605597 809440345 288742785 307979718 167345503 596699285 150437235 881819337 992737018 331125012 837467071 274127367 157675763 706312406 524023629 257614593 603064890 642360901 612381259 426065356 979359301 892898229 278768550 793383371 300136798 762387569 854821066 732812539 459987848 867755225 850578352 699271846 236543578 280611543 602531457 375663209 121025106 766153358 323959759 132102212 792486656 155128743 840811064 579860717 140618669 181374857 314247562 616810060 774159210 702845284 179390156 468990180 618944713 534393672 745194922 360640465 918916653 756953727 544116295 115983297 752721227 154237164 455903293 561649236 102404737 694362310 251262444 618770256 979814072 419610860 518891023 825983447 733962019 796634732 139835087 811924008 751357859 497616323 658432106 705580539 620794599 767573120 950077849 585392738 280770611 205760539 389402835 497016512 298107537 511934802 815860453 767141949 339749780 943124865 113262069 936836345 899955409 374132548 338945617 172368421 447274756 955773171 372895993 327207740 576537278 213490844 155884518 359207481 880848773 544516496 216704566 438721799 604325320 952459656 897408587 276973158 102691011 282813482 336852196 149050693 789725957 599881412 880239782 295500908 421426799 300517601 721744474 297603328 344582489 882448093 261377077 571885096 953424715 281403256 818199186 400195207 435520145 394309752 131013841 768094545 775225076 375846696 913481956 717447074 125954106 784928933 957466320 963215783 352397886 214245075 438101458 747561761 136445084 968498865 819711700 174156659 645436055 636955228 384141901 303599109 909703925 400333869 201603005 283392531 421260629 356425956 903873547 307914912 743204248 357306767 479628658 970810681 320544708 792917834 403943824 623018833 689079237 799363009 332817990 948539920 552171628 781909017 429891006 107158316 455367370 351940824 184251547 161140489 415333718 237597266 996417762 351757202 846588651 967022020 801198072 229683943 367560519 633089503 704708117 672770233 214901311 616815618 671124214 337508881 513515425 398411246 918248461 926179450 162242881 817910220 357668898 503974881 880244379 760628979 989068019 427525512 845156850 782005457 320922249 841201336 952423771 369723895 320652764 402738609 305055149 442266084 516193844 298426862 969058274 570520150 995824845 383335258 120884673 344519639 709068646 297684489 724907452 131156304 257098922 598159286 678608494 681612257 918602317 964856387 103238228 351040065 754610741 661913346 207318899 814976111 549339620 779807288 615845239 659035143 586958430 846785176 970390371 157738558 801177130 785715043 708612299 810215725 822764483 408321757 248491822 236316946 966169441 589982443 248524170 409967893 708418001 694494927 696254131 837070860 502358534 390092574 895381186 230058476 113650956 862991508 766152483 713347446 942771670 920360291 426087289 245999061 226088648 143458740 516999055 501055304 740781076 280959627 334346491 309251192 341600676 773568215 276445596 940278890 135915452 642048395 689850380 981521290 721957692 435114781 748802658 875639462 162694573 860586638 492700229 713192992 537870152 123419623 197063465 464457432 438904935 207175666 680071196 158221279 393861711 540898067 782552466 715543971 409346204 117053158 901235066 641761475 711911209 922027411 739234917 832001257 138450183 726571228 957285501 486698164 205117093 610566340 889791221 648429400 880506846 377661443 629990427 193746653 257178379 857756775 467750761 347187408 698812098 505582172 258364745 757553486 210705931 875224257 414227320 262236211 300510146 769533147 531346596 737905957 202389359 796613891 484436500 100300205 628121973 540407936 207731025 373958735 378524110 176473672 472394631 228386914 517593594 390952183 800068133 256281063 161508204 888775021 170449290 714916225 830161414 264060122 672461306 468271668 405486284 167011831 768843793 934007994 367464080 800233467 394587450 646292193 929181593 939726986 261056574 711771813 661651145 372969753 437419455 978507697 856306332 213644577 716303359 704719634 460055403 862328263 541937545 218572585 664078750 277040977 305755477 245121332 811681605 435067684 460304803 641560913 351219873 723349166 876203422 972527349 886668362 340900914 157777343 617032237 616886142 951284132 890470820 990629576 196817340 316369008 170617429 324398403 821875627 378713602 763386447 190340006 414696994 432944563 832994667 110197079 740796286 437874487 403979068 739431899 991135690 756206766 348738968 856628744 182813805 451785378 187176512 169252782 573671648 969797369 696692091 585122908 970262922 512681206 664858937 529007233 397856474 179171692 181377145 546714984 339221006 228194511 425164890 265515809 895488549 684785638 790291144 792354420 758638714 513470058 254711897 749169414 529988766 580388493 891671670 847206445 181727347 759636248 368959812 790966540 678225342 555404078 990505601 357431758 604210144 537415454 163411532 640806993 128289630 272860674 757802181 742523708 698424900 373052941 156327201 539947144 171873984 573690579 462810285 259338577 283235890 912463540 837518893 391324669 739365318 292954295 111944436 472017253 656479982 271062458 674774642 218280167 142365232 571007302 203663807 985563033 961971162 779221461 208224822 951898958 877653419 316348567 781259052 914011668 598661128 710823439 727815227 213515919 820729550 811377447 578851002 418449872 541380003 995949138 422036820 876376549 916929774 537257567 175174641 118769161 508285794 189943993 489523719 289020422 847477046 777561202 200430067 428406329 388548728 388453023 185091336 760526583 102799221 921238394 685161434 203514289 303427197 795729137 367765768 349154500 313453866 103151437 420828020 262748701 358874203 906531774 478462393 721990814 328587086 582937564 683952959 975448842 855376013 584384442 998386226 561970440 657584737 358753716 684496568 919243610 910506911 867514354 429662935 892205078 217393732 757554679 432979160 399424202 704137670 493307307 442284141 744486330 201254132 826797976 690131626 348689601 609424758 916836950 682755791 733543672 125259887 412342458 209423034 292051919 139720788 969366831 747123863 128435370 798236304 643504378 408147619 414302807 644686362 243542633 991257699 627652430 194436445 228212462 744547999 963154186 809482350 792692068 160430598 517514514 485558642 393176226 955938612 464191666 168413535 160841301 211581742 409656496 565998428 121377177 187856619 413893424 692062295 568372579 106468933 928311483 787071643 266543135 310291667 906783230 907099426 587784528 511235716 313020163 182547746 242059296 243810343 246214521 658243680 917524946 965785538 418873518 619603675 629418659 841405418 433813834 357106847 233158439 755300277 460702875 247954501 816341272 466505644 211140963 889412488 241780601 516129715 198504780 447865263 261814985 551990690 885502016 234742683 853776017 169429658 767720958 634852503 142224150 416845762 225339997 778009778 216105899 534125025 414485886 572987584 296408891 970899681 636426167 687565072 461456899 813257206 423682518 750447947 177646434 661018756 323016310 411123858 884540946 998779397 862212549 789187658 680518931 206820149 277536401 319727654 536254341 951629428 852020060 127923187 750542552 694213914 793999452 517019602 465314953 865712241 923004917 120537240 133675799 364357439 202597902 297512315 444904582 442829553 150881450 568393884 549243979 858376685 951273896 905349537 311934543 931602678 216500570 381317708 197233054 239037739 282532359 713717036 750425237 986673543 658185382 447270441 633412641 917847954 135883090 873405977 750725227 937229726 590307326 104484436 148576470 843427287 219925132 466529684 300597441 480705318 926225818 962981323 684112883 987406066 483822661 176136029 496405454 919197309 260366440 185957370 803516168 176090693 794767137 328206844 355995310 560153382 578106344 389663547 583073292 788096427 777630256 783603100 634846724 899552430 584296568 181069811 925889296 177778674 712566206 319625625 429545146 360906920 339669680 673767001 207376024 400758241 700647664 355642262 239325554 912792754 445086973 145587178 193175818 416254553 398299289 201078666 874422755 773913600 308716376 744314522 261427971 432617527 992208224 881481054 725971385 190898191 787624975 884720107 747642064 745081346 290760720 959253553 534006586 365164146 952396009 600375971 405126384 719156477 462929195 121877459 125302589 266851048 339511330 998908536 153869087 628681705 720053198 148034619 954037124 543455686 299552986 645597732 332376181 629360516 217890917 648348374 943761842 123709640 530902010 279235907 389885123 926959114 878790661 125067719 985853217 421909834 583924918 358786751 156620797 726472037 453467111 195357500 122661216 263345602 541626656 332493074 995808240 148220212 992018337 464727957 687262608 107138720 149971571 992217461 485955378 941710918 511238548 524414500 177959007 116832447 479934812 706144535 637514195 515089395 937379611 824837771 161657711 805876834 458009550 765310106 794389801 944239708 458389562 502586067 750848335 418761200 996179141 809044889 984825751 908413121 130323056 935658174 178869165 245991968 112137347 453807427 438475306 879876869 999448563 797574113 391200636 708386492 311575803 557919985 269398728 171479143 196337206 996859644 446358336 767738838 167612629 565809292 337157615 672853985 819643593 811770116 688324519 211826127 865152263 593160114 424583023 771618310 466788702 914169923 982600397 536730109 933605596 440874330 612468611 447302301 821269018 566399227 389418344 896806974 129679579 247669215 620876780 952040185 869924792 259897884 759861566 363177363 886299615 313443571 707412137 702139276 336485303 635559116 812051287 470785600 558207789 210511642 533028432 356526201 988844805 713495472 711210868 384762597 568854480 272615590 990705067 226391103 883655998 813797978 663293830 375048977 865387833 397899099 785184047 854422055 326352843 214755155 852919237 592937398 573925810 568795274 811520656 202945235 558204686 526049962 608137051 693346659 285688205 630592520 684693768 366001417 864947414 862792648 857646463 188798837 818357115 755825256 154256499 915680609 273216976 261897512 347487403 695312220 302702768 816338487 194500192 355582394 624103189 591836870 912397774 337752817 909362922 160236988 856950439 748885455 571720220 431683448 207394747 685902715 931320234 122447342 147993681 888234383 520449490 232213686 352753769 237104059 686611320 248028430 828446452 164412949 882223083 525921345 662543104 882665896 825313588 483602094 205930355 840592011 479048752 753546422 772280898 236762338 691502854 989817577 956444938 586698894 535391104 134234359 656452348 411396497 154441286 697880219 455817023 312139886 944090957 234686447 280225162 397617435 758441499 994878323 235187503 808882819 629014821 116367480 522066633 765647527 633683881 229738800 249977536 794085181 618628410 522445217 662376497 833648051 996421575 564536165 744041807 929272215 865032459 295570473 657616962 291314786 515407757 274497065 257619636 788274447 737879824 592170157 942095415 359951223 309356325 880193405 200149173 334926882 551817230 277715581 725029611 570582695 692604340 544780886 967300088 417097929 814087175 913494758 765439443 629915257 305924140 372857640 712199880 181809906 879372365 161691879 315924874 405502468 506914657 513531461 239893891 859305565 594112226 709795897 631047427 515094069 706664776 960599939 881932537 226714642 411292959 664338479 402582447 612925802 973892589 682456722 919577453 960681359 269153785 921927573 266604693 853816867 283636841 100439623 903379879 281775014 946531636 112244495 614683502 436796623 766583971 488368540 560508329 785628072 429806012 957669369 993531160 304344219 236456462 572131492 675685323 912937169 790592697 583416327 145936954 645936019 265164129 855192992 795622514 136604159 711570325 515532404 204751160 297055209 979591239 912406902 514696947 388206279 675224120 257148997 963247664 410376014 532721605 205172381 609887758 699893852 498124026 754350568 372698827 325378922 386166218 206757153 111254558 786881607 348307390 436722220 530670698 122924864 479581398 698291947 804871016 287397451 465845954 548514405 677743512 936788029 905490581 129642463 227385345 127517310 134072082 734584692 645496630 428679156 221227892 416875832 829805879 551279137 822879753 633109528 454424861 941652204 558734503 126768271 553769800 963134217 708004369 242679276 518719837 523423633 160794562 677753561 387324058 884614199 802246679 528589351 801106934 836176126 346704240 430367038 861473294 791299747 359905485 935913334 754790467 720469828 990316890 503097329 485456521 733603494 454528741 674253184 514071252 342720998 289674713 240480942 302100557 847255737 733688079 492418654 945453661 555764703 810066898 402124843 356261543 340382904 460225564 674236861 683100110 159177935 638260358 139250063 868494186 515073195 744880264 952887026 628075186 334667739 949901324 290266504 487699588 726088936 682542568 442287927 228104273 369566779 823626941 375535360 804232876 392833826 751533311 305962535 820841702 726265149 603658683 731846527 539206647 352540788 925330561 608958995 988395268 286544703 907862259 166219037 808570453 783875624 910274879 869244432 560358855 668080654 888804739 337022605 981809814 520752678 123220531 792356694 925443645 372167172 765174346 552320110 225081613 862295563 916383582 534025411 444867795 964316570 940909139 498091308 458245910 836767220 308166071 579751713 731003793 948368212 646122155 519531475 693523927 501297278 789778443 762552233 734887109 757710532 770151385 375296653 810433261 204630479 408379970 256526052 520035811 251118261 336745984 153341869 318429379 446353246 459473632 354907619 419166877 410496981 789062056 162886515 156244980 587164416 213790887 753264829 518928511 661132000 206838717 217519354 976779641 756289306 527625094 518686703 874472236 775534881 355823846 809982277 577521944 462732085 987163014 739808468 137765805 972566863 138395524 131950733 602947498 525543129 413840417 349132248 268996272 429317028 627140752 504247921 420184896 392943345 471555229 906831730 980838366 388875965 628106245 852060218 370486919 719362069 455369512 398795598 935990834 132779674 659689899 403832342 529519800 700598296 438787379 646783121 884708369 778434011 861512769 514283845 832134091 562606310 491138782 502197101 464211680 371342614 728380348 818143459 139951762 288113290 802121000 292809063 242119506 646498514 436799225 611490104 701674118 545448453 738070184 228544127 384598250 939876010 887507668 766714967 199892706 340222853 947089242 168655823 920159922 322680629 534607308 966105031 614526359 260896126 478336107 662910914 210970152 433613173 696315492 766397232 275487506 903845597 171359300 426475110 837178074 981500887 110768897 149933086 424785898 746041701 178506658 160493030 262236972 375853465 902972420 364471142 757363686 208583107 937433995 227355644 565600250 654366620 769217145 893169047 287568305 504807936 476544504 640663722 234345766 567507568 773578742 496927330 191519088 244152511 124796750 839577817 619240354 380043833 827142286 667198012 381668118 627736576 297211367 471032281 902561626 264121118 361763286 698931047 545437650 727326634 418308349 458288352 358696701 782256054 751812453 180996305 362160829 672066405 200469970 437873302 397950664 418205805 336900896 761381530 475485230 459107998 879119644 880953609 810639039 486199085 575294752 221501064 739296084 436825971 867986197 823584887 346742591 201626663 296240989 984574574 587620416 984202923 434809124 537433552 914593814 637673371 797114594 589378691 977224350 393183062 129588207 479829473 329190076 438790198 562893187 712489757 285085557 609358085 289194207 359283775 175006729 831689677 539651750 582619567 809847166 528487214 738268034 636447408 513024570 653188874 294439543 410694996 139287057 709652721 320372823 360966781 372229776 964721000 587195615 335968765 710499832 123409856 598730908 497817023 996244010 780106231 119594294 922902343 346802733 282357877 956947076 419275974 323370896 231557266 501770236 664019145 230691578 941225529 882497985 326589160 248208054 889995908 550261256 239016055 574349479 266369709 284767146 408411335 368723332 633911542 177978353 630321019 440045477 490928734 831408930 638102948 210813755 215655369 866278941 568547430 857331491 754127383 667463065 343710052 830538688 877748279 143720150 147668009 321273342 356344321 305011112 158564449 689420665 364909998 291315616 718560399 522376044 688382689 145240846 183478586 607821926 996707538 443718055 740005265 422563310 586281006 597824653 112862269 549294884 504767858 353967257 574256792 140215084 649303001 310586088 968778152 683454408 429022284 999389852 684011647 858040924 119683874 607400712 227370892 815249220 785091652 967097771 803846392 414548585 808922701 437822049 219105501 164933752 241416167 743967036 425096786 259856515 248540406 739709125 449499005 266038064 815539304 936124524 340139422 726040420 679309202 704296485 638835303 650289104 130527407 707468449 501716406 929050012 915840357 807232407 559789078 367975637 294714737 650838144 883652129 200301794 206494148 511991962 747764980 566744387 998881832 663051022 787190752 703566751 121791688 343405108 896205551 971084415 936052369 686546848 791414336 946581652 946501830 332513134 574067472 398152892 772686733 554587176 421916587 190243210 758882541 976037901 198343953 298850573 703299874 461806813 310857049 647060641 871146857 509032427 383994850 188561098 732506750 460733133 849635628 268128423 208729745 254289410 442190462 535262261 916717960 421328883 292063718 256082719 309504181 287121714 274089338 487796984 923117320 311302245 383505050 561561679 525483418 246339637 701441930 776433754 619681826 276125476 588189766 742607362 946617550 757148524 247412982 986634252 122610144 352400782 358875542 423062904 333373474 547101418 610140561 205529135 158611562 687279492 985326546 687516953 991656784 728662170 628628526 347134702 916638080 672481697 539904491 831650549 580139641 114764986 256901776 314391800 474107631 883475061 732195571 747900482 679225589 578011522 578995341 199331774 894432317 442630679 587192209 307933647 996943093 404687567 832534748 126369214 298453791 924600021 417067747 531507594 123844946 440700582 578484031 623304151 911526610 427414151 198353117 707850462 795483210 881268017 637424093 750368546 176641293 505694919 619825662 964939075 575461981 343997496 906730454 265564985 236996558 815890042 630117648 479273975 658049805 164368895 195358412 728769218 145793908 276256526 756867223 787205300 127336116 381276942 555303640 984107290 374843757 733146429 786407602 466269425 560124590 599117444 447072970 482745213 924890027 688791460 639961553 111713469 565633843 678871847 752935117 510039216 710954964 614292915 828203884 739437763 204496977 585417538 881466478 827555374 124552721 841695698 300055615 198192470 978739109 928691505 838235881 272350802 766331179 479908993 221497075 961817451 403548219 435873257 754336437 809553833 608152215 379274821 704425931 721368835 321541138 212650233 698805791 894253572 297297191 125923691 302042304 447948855 274080872 974844551 846772251 592992991 338922467 156747064 267147967 465754111 138961560 954330577 634794833 204630139 766652593 785410127 663431024 206617930 555529898 357401071 885427022 843904027 413242300 578560854 743222056 159894726 876683495 133158564 657985248 885827701 950939543 171932621 377863513 934051079 821009711 780488843 803245400 540713040 402089768 814864477 801196185 907667514 190627944 526944020 133305097 500057953 583423030 287802607 698325167 356358636 676092436 472226102 746927385 878132031 850294102 966979861 210162516 913643861 149418542 330002782 614747867 810327282 297105789 730160350 720278498 281270090 147218719 654788476 607067581 799005248 616884240 746579417 807933252 750516555 996130204 567618401 459329299 991491247 931778023 131015531 366672050 322828986 600551147 755504414 485341820 547653208 761717051 905473809 923475055 901916899 297195138 554991724 830140215 508147695 473648279 351603952 403998582 455133573 399334844 218399579 661035009 852724059 851796683 634507215 821305432 249322777 609056493 249847501 622631453 463499491 993484452 711600880 679840859 810670188 811355189 987518458 148146821 547439008 495294742 504173213 654332352 564930108 712646798 837490038 733247947 437115487 244904569 132189860 948477957 485355407 429838656 541066628 291822953 121750226 423905878 953364418 145240492 953969908 634996335 423860327 269397481 912438971 722745350 869923787 484202693 277961406 738143452 214456673 224691648 939683957 113867403 369460785 904687668 742274261 238289481 418851773 359156655 317028425 265728757 552447220 809415062 468419750 677827860 103617334 184962238 440574621 161001210 616651154 520659810 176407509 257241764 983740854 526444066 160459909 293244475 178096492 911279954 660526801 968367662 111767800 442926747 564424183 354534877 250039798 548509389 910483137 601674141 344887952 808021670 184485421 915074686 982231584 847144183 842776275 249107484 105620494 983060299 996049257 477099073 688849932 221126492 959453189 403074078 849870344 352712933 420164637 346213632 489981727 763304504 702774335 711293594 934426168 630884046 538341553 628623070 303779173 222059778 699897365 529834598 918152800 648903009 913465594 854645166 928185487 397180271 989800234 556619664 961506772 207957745 432583540 468314554 640594037 487383036 983154844 923721714 236495982 654386518 867150487 456505019 960248133 183847288 401307923 443126897 894657893 893202476 234737049 520799210 887219488 967407708 491899200 341324411 244668040 886245577 147649669 930278074 561669473 658391977 271103712 189365338 378335057 196556070 862354066 629465231 712395972 170572019 413013146 136586522 128314767 600704394 555443935 956974900 156767003 234037310 588847846 235336454 785840079 719526668 455968801 721235394 340171211 985477601 111715885 701752147 653258364 359407636 466742324 496092853 755009553 240661116 427118005 140390939 496526039 860580855 746817226 720849677 660952989 177664903 625371563 326158206 679064119 777860711 473420856 246818473 128792237 336503181 541510865 325015809 995106568 631939288 935933985 430105955 544675064 442055012 637720694 940255559 573674534 938611023 951367517 824838959 192750708 496870180 455492269 733447568 315677449 611518326 455488848 122457898 357700237 645327871 428097606 238568530 965597245 859077355 889032642 388035489 948549750 119816457 946707298 726107554 284230951 879464158 560555750 652997526 851862774 933179174 446941064 463572632 922978082 143497391 511784181 131593465 433516794 220539495 739944209 569628613 578313817 309586924 220569749 336050855 399914759 584524901 739852749 851483779 788851445 581386735 337125267 621929171 906859166 346886166 638438686 835819439 163073725 397842210 940795102 934023266 608244005 178705482 597195251 677199071 716238349 743285408 510519045 893448698 709951438 409634996 452996543 635377997 585608873 376230751 767529981 322271932 215404411 128870661 245653242 308194406 588764868 617983136 268971890 152751898 862510455 283839458 272505770 599351821 798383359 743193209 388569676 465604812 410207833 447086970 999388016 148583868 529233540 300939437 661612304 565045782 596857831 845177621 137631963 986357608 867239731 833751955 752635399 650398515 620153431 817915865 524610384 446420102 771134591 551973646 169760733 993297317 315000274 375711360 524199511 559329968 649259966 362682842 299858480 960745117 211281907 544253482 646144219 822151021 819285244 444233547 857556912 586295498 468877112 877936435 199138451 604679561 183491062 766750859 547788638 654104395 936584949 738566094 171742266 358388704 841660640 940520828 686472323 784600704 906613376 186232239 664334792 453105434 528661151 223877974 703877727 663536630 774256243 727878842 996448120 293386242 157314337 681303329 427833692 505222730 148425266 152404463 878977010 318828319 158677763 384921040 781985330 939325664 726392419 861870220 254807242 380482662 502059429 113829246 700422391 760459362 702569339 679375992 956115716 940854975 181505035 311403005 230638557 504434650 370377814 670747084 179562312 741988662 730024573 515048066 547997989 231430590 398672522 901179552 421114041 329494144 792588315 431784684 727258139 116760930 982812863 860755582 613230316 823847936 679900802 481550660 758170976 326521907 679108916 969562328 443989234 757515487 493471328 507071098 548156104 797568740 792692577 252134264 929644716 130816305 165445873 403250695 196313420 278349474 627288945 146531164 128036434 704259616 498114424 979307938 868849333 227966690 476655057 757707549 631614123 802023932 132131861 135179240 758060382 420502189 876099545 821434432 157444524 276560775 748147792 474097441 908296983 943688138 154414336 430037555 410147747 360371187 929636322 340505526 181389966 862444452 170560971 765311232 229738966 987231886 620104788 878100486 549269133 958452943 772256435 141302144 418507061 580203340 417453873 517747903 833452220 658694647 985570582 617160225 466217041 497614343 752132000 917925368 443654629 386762616 689923163 497355529 525649449 767295903 681318640 839195280 593058788 622955802 127682655 678454680 105712985 606449645 595880082 213249137 175321266 180877537 911018420 524776748 516345782 794276550 510737235 442424721 755566049 109008159 253919662 376690262 873196749 596231103 329407615 147931092 857588097 346397910 121735447 123095270 134186394 302165528 314325446 362194778 283091915 606734515 775894181 118267961 446523426 692477728 922457580 222741765 518346831 239802269 116571672 818748239 629447349 267140718 597906904 607952523 458502611 214596049 674654931 316572968 956435410 117368600 148724338 161035699 283490759 534901135 547884088 389148062 404828084 969448441 183519385 517843050 904809090 737306340 543931712 793115443 714579255 653616969 973728000 992836316 884020039 863111587 622502747 565346389 582798914 188308245 744614094 831617201 210361701 681261830 617765787 255840643 878732336 402660200 832346077 437258427 365589409 230406782 394616147 600851354 549037624 980860908 868993239 845351790 610896430 522493145 341160966 898100950 683201973 548378714 251379433 276135354 749445062 228217238 763524267 151642572 404306599 868853489 303088471 763484752 410347334 192126856 915154213 113606461 252150192 664481719 931102956 307781636 520867985 856712326 109155148 701355419 205687855 421317179 194956489 803919021 256160298 167291439 527097415 732082100 288910033 894820567 372981005 612091187 665902542 494334046 393961896 439953004 142874623 864082054 949089088 217091393 602148137 843506422 114343341 444420507 844469398 771061576 810630973 794219087 708975529 507180188 747278294 669365390 736843669 658092764 486624539 777165337 916302526 827237015 394419764 757199030 892142703 829025837 625661322 792752470 778470629 912499042 222639503 205228431 476266612 212653151 889105968 463100875 847358876 576254936 904242516 903669664 879758620 266191203 146626900 177982951 164779388 863731963 283177733 812928187 778652242 267615914 380941211 583580950 410777672 434103392 386162211 256599291 634227789 710232309 351060780 544587047 180722590 958672957 907781971 799483276 300468369 662657577 348087019 400328324 284604116 572106579 258441034 163152213 674299187 475291764 667650291 300294002 522906735 571526353 984594685 656382903 750644090 105095469 441582278 869317122 885989904 555025411 674897772 168730978 928750646 750595336 214135573 527878131 651025372 420075714 832610932 700076459 377882923 857658465 984803688 112167748 213474056 645485042 988414945 877680291 219302946 217436820 496121656 848647598 367297249 313762080 386626018 351524054 974902524 429410983 348820898 691468824 241182103 453875525 783383862 257133888 352548306 713327672 359815107 264290416 457636354 900369865 925760520 548528111 677469271 716649161 167556215 300009235 658232010 614608584 102744647 351430457 429656610 660543584 406571993 181638013 348433739 249126014 266508974 737110223 974473556 869986048 359798091 402380135 960479934 161278535 836581226 128808799 273609495 629320666 327549280 439397602 710449433 843602719 203223531 570882344 384532489 458077458 641445780 543972927 252199128 690644742 584005326 390174261 827365845 921428811 592729726 382473658 200697726 907175810 987957728 584053716 279338592 805558316 596486814 307735933 158983847 936714124 330071070 447024816 400128213 559229411 954839664 415499784 130890255 450280923 379051166 847545925 474234710 683733113 536276857 492134910 894051487 329410788 335918286 709093043 897333175 552820318 156692723 964773639 109999207 983148681 551510795 760787642 606272899 645801557 154809621 912085519 791506337 946695636 154433277 806672463 186748382 422437545 829814888 900025085 282705738 920240874 596784873 264673033 174089999 532142602 566026458 637085553 846953542 649998462 911394200 626517349 520779761 749548653 963195296 353247370 181908217 202698890 563681747 984690828 517146227 983729571 153444142 612988986 540926462 928397149 659079723 649825543 434393414 316602536 377662848 357997641 932520113 168373892 601096983 447949248 196764772 498134496 434745646 599019617 469664235 268621780 989575921 593451963 104657205 756515175 466486355 374420447 950748822 367859346 637705759 536202604 123119096 526542266 790989633 912038133 977703082 764002101 972802332 138339720 220095010 837658135 109375938 544007716 486106054 214415030 551369913 981402371 243660064 103710027 477914457 835245362 962167387 871498502 938761286 994626219 355779888 127211655 709065065 420914076 917883829 345462724 200296964 380877189 526742232 307695849 539762063 248538259 288939945 597411960 813627016 319015230 939938401 390020477 320150034 597580710 398918409 698219360 827740028 585754553 191215011 556767064 362961309 622448933 534384448 735179199 982554797 871506423 571831832 977431635 873794605 691117626 685246091 258846338 398153952 478393703 683890327 306580416 367282807 547758888 915390404 320184799 218324078 628392559 776021472 279148796 761015075 115857835 481343345 358759123 368836822 339233972 962292022 124625704 224759488 479821696 897171328 511018667 221703017 213585528 422155773 396494796 790425042 208478460 947879945 966135792 403990888 721332701 928385668 494239708 564953298 805391549 886757766 878205983 166257208 118756559 768870021 427887307 167879193 476129523 969319814 248197461 295203096 786849446 610578890 810228059 543638043 827640979 703866753 361428852 384421899 343035245 646447753 560247752 190362121 771212467 311548661 395387488 640518815 515469832 251407705 183272391 829631448 936903558 730781950 526227928 128198997 495506061 975157190 203950100 710650784 356941819 827687334 333770925 989673489 959300748 706667834 759412907 961573157 649556005 100201701 342726235 847783293 694028933 163464250 377589445 762037327 174348411 179516947 620594091 232120560 964672476 565275286 473623874 833393692 350827322 779446660 365562768 896415199 215616759 585385667 671519421 249823850 345504240 838560615 859158427 943303176 225690868 322485042 437043423 164029190 706600495 775186947 243008780 936889449 394639197 770165673 361586243 118496605 792012402 970507795 891345435 225001883 596183005 591719083 288492524 446198811 557780393 315672672 483075098 460267812 875786808 864984470 395845212 466572313 479752728 906678187 525407188 558155426 298441270 689828482 942867347 732958416 814227328 547077171 792544549 988522059 795007975 884826713 132981158 333365826 815296596 932227912 469298549 174544233 110214406 941964510 291028298 702518624 130557998 295448871 938896951 847467817 720238888 710772917 216975077 428297707 308839101 207066454 155433048 963859779 195343332 766567968 741901441 967046986 448533909 763006214 944942174 690229022 574435098 968311532 909161582 730948021 640402109 996177556 781899048 216231877 117676639 399245207 924168604 408931111 222869115 376672890 607376766 629148281 728040079 532668479 533774105 327963173 705724004 256262446 588088313 886650533 643647883 755325571 244613809 385490652 285313363 140859362 157415276 299028511 566040204 871867423 211875483 613226497 940633612 875252115 621621337 550626978 402492700 150737573 390483950 902587053 305368524 999019624 860111058 879768032 759685695 557922308 292026710 927232142 531595991 897584506 526039404 360066486 761144411 598292548 284603578 119524385 393137995 244848116 928138470 548298635 446474978 343651271 469817381 558924424 146755008 439885330 927231234 431395695 438091082 271276811 200499838 911507926 817765110 260453933 961948406 864708949 365752549 313553316 749051867 188015090 446086794 628163725 910430112 890957580 587791823 743204972 343351368 351875936 682448466 690152678 571030170 211049644 645414876 242774154 666256803 116382054 945350144 371082732 252004199 765031988 550448071 359974758 520067963 916183888 148246938 524263557 747840722 413376407 924143608 583288480 905996262 583411125 122843220 622996415 474141357 943397066 547769890 936259314 674817366 128875192 424626525 635595686 365174862 918503038 440276645 771817068 935388991 866938459 184790912 105919719 722479438 331358162 684557894 353727929 673321666 129598243 274321578 928145748 622300560 523419222 762736314 393926563 103471497 718463091 571808688 631707220 534783404 776770091 240022610 171787381 679792648 611076221 123969540 212245691 688895363 526395619 713858436 555995967 284073588 846901930 199110909 218116224 392782557 976736068 552448943 883616778 714008128 578606864 471334365 625643416 102126484 133480687 969086014 793135483 532513862 933311925 624149979 916596653 394774529 335167473 351085633 564592175 114573408 401290472 473516715 164239283 128087681 561099833 956368223 992355014 337309873 688046365 196974056 917414687 303729075 364414493 550707249 307818337 537406170 970067087 571161366 265861246 386866687 861544418 369259799 738193723 755035670 521574082 785560749 443168940 503688096 954030840 755345637 978765762 839422498 625100307 583685460 902897503 150205552 806507552 366878386 815734847 649560623 715997520 939428150 187892195 880163262 478155181 398077889 374939553 647451460 530653413 242809583 690710525 410407219 278411623 356567708 935005927 862080259 869273235 419985729 944545659 135922186 929388142 888332322 815472650 466302768 656093052 878431343 676641156 366098366 772936268 609987711 597566681 882424455 253023256 914878422 636562491 222258747 983848201 481704806 846515108 620084469 379598508 335562902 513799533 666069163 165074713 931237958 377620288 988038068 677801518 140530874 274386937 448740206 732286017 667458018 159997148 805060419 104960046 501276452 969298544 841602339 369363644 154505770 919250977 921718634 790530017 115738028 760781285 242015977 303667943 595458457 254105482 350693737 970509750 688675477 145219600 586913224 345860850 426393629 909375833 486754277 633020041 174259290 420152279 882825870 527626152 696807983 506379717 245284229 714883849 649552314 427758252 835317969 621934568 477786985 788327849 752873213 132563631 742772137 792541790 455665875 801748974 507509023 249712842 674824476 893103924 268758737 266605349 221989712 174521900 712149544 271659497 551603319 624489482 173581618 237093490 378859571 385466306 431594998 192021216 414832526 397511050 343996734 865758479 940846354 855435386 878425746 817714175 288428671 704260991 249273963 281803893 430681612 911046793 856014699 331857123 185353518 708089701 411572391 186089564 958905653 451454137 143997971 904588857 720967043 775312502 840718234 935803572 372591776 897578475 930621728 447133414 554381508 985323292 929247656 144145110 789265624 595599766 313164403 962830565 618293936 231505031 120971555 268330912 830887041 516636006 493809561 930117812 986946987 209366902 882673609 347866167 570981581 744667755 787862067 257885204 431681455 203626852 824440393 410073874 687458403 858104766 975091533 602600294 756547609 600184020 107385316 335601930 221635571 138139841 735577660 816662827 144178085 161343182 416651020 769225749 125861821 976435316 276780951 473849383 302344101 841809996 429345503 763184102 899108097 143482713 102607470 939505690 331126989 238929067 245258667 315580128 126899695 652574345 986468614 230942532 953255765 148348856 475655917 765750095 262380896 908789539 338362669 572501372 579072400 717581874 421419863 793407000 260110331 765347082 879840990 368935856 196269193 361987459 962103388 968658004 411345757 467808827 672406650 780019465 998101302 498638257 333628322 144935339 591036085 162242947 346114552 871555134 880374713 799427164 873210544 858850579 511200438 326576785 613356823 853505409 377851907 807309416 895394783 917599798 165121814 583916045 887205323 840993288 219222666 568665723 168317805 261945391 442142274 114153861 663737553 542557535 445193531 827305149 682302140 292480251 951511256 893022099 542995303 813557587 656222406 870977608 274161200 104139243 678843780 982418282 207822908 629322245 937106836 964047408 849473529 510805277 416572515 294404323 457688142 444598773 331841900 951561759 131649402 495358358 737937352 752083696 354616602 396428606 337755735 117367200 455065781 291729591 907703436 950348606 571984340 414474268 861748328 640043654 551895036 971260978 896396794 428757812 598362461 111525587 967208391 922874806 447525757 756034684 745981566 313903117 782684346 102285956 604877738 892000166 778999557 385928329 802238318 331448652 838471118 618904873 558293664 200685571 200308837 642555892 172082776 726649543 342034214 301636045 849961386 854814031 384850817 322348037 892245133 872532908 763501609 522939612 645643269 446579843 568923498 808151072 102973258 314729853 610476649 487407927 792779408 689534075 458957348 768307190 434989693 999423378 780159868 420843834 505235314 543687807 492334130 406373218 920564212 819981609 391157220 905232569 445516840 948912749 627767221 551514658 991643762 350064428 418068990 202039618 915068702 521641174 184465400 560925225 254489829 234638862 971643808 106525750 490654821 776597296 844459389 703728974 182332129 477088035 612058274 563167944 964355256 169549950 377125863 860485380 525536895 836289456 841515347 390735854 687893252 875568075 953990320 864361463 981614180 994410797 315251615 753248331 212963326 808063430 716152683 961484334 397076050 339988714 306022758 319501179 586100645 527649412 355428098 532462102 931780669 305561369 291658346 230158492 304788667 694049788 996183117 542870514 145375665 499082694 206990549 595405891 895678389 242759624 152234820 398442306 314820422 109531340 634852678 640445404 791813918 438489714 107631775 353307436 963080939 488657669 762227062 797071039 698032617 375030485 840574469 943235638 472398500 513242712 881353207 362612766 650106269 707415234 279960058 878611236 791219543 204775833 584329390 473910992 561697285 849765021 297984734 993905823 962821483 478351091 281040944 202860498 434394364 928402241 734845743 175603404 537947629 641681364 235400697 375819496 826137932 809942090 591073991 114899865 767566192 569732274 538987795 517941170 671950670 255544012 999240663 260733907 696280301 245606671 364642952 600707511 639806659 349848210 597926675 918967544 814942034 477912031 772187959 248133888 393357001 127662243 201989873 851196501 983890895 890867243 776075687 170009179 747819868 666104917 186314731 983851706 896504510 300368383 841081036 350619614 156527482 292758859 415939575 620830104 908233403 836636723 746960507 929278413 234918211 794493859 431880511 550267465 525666410 729799902 587087780 635635600 964249066 287272977 871567697 832123955 593618535 889836846 515105957 375023797 885924278 118461614 746731859 725652184 372410089 342802795 669823737 860319852 998967907 887464511 206935597 272289232 335641214 405718837 539314607 687479434 716580602 844942852 225150728 454527688 882110532 126087100 320668299 961838287 802218680 724438361 206089850 608378589 510877547 427006679 180312186 828800120 778519822 517610378 314058454 763916072 424688814 662363663 618547602 111420990 316316781 445432888 738933032 328592064 775223508 654623516 847857446 495690262 448161344 499050374 516069514 462297883 434039559 820846889 699942663 847843354 895857029 781638245 672517660 407763126 508989658 668974113 807043777 744740606 176094476 192337929 162695808 511218799 705025228 260958781 579449366 201719550 941967227 544553270 233759395 586877083 373450857 461826475 850404726 968019126 975193192 495411017 844172478 132613447 364371675 976676010 863027399 560808518 666805371 866451452 629328436 985327707 226567682 318050720 495911097 766533291 560182953 110042383 349695913 224904485 970064792 578066664 992075992 796312866 751745969 201133665 143199331 302796363 483185667 750945857 576312322 881606787 961589585 527773760 830184839 707336365 756425558 375137175 916558069 633671032 404061777 652893562 663909835 934015845 571940831 633516493 543927176 247561351 656387568 595190080 348640289 699145674 548701533 311284598 333049658 563735212 163829584 415065806 308910211 839579203 804795336 960955855 691188634 586317156 786853894 918244589 683601750 168402974 903205925 319943536 990646921 357482064 276031239 273567893 493620209 824877924 247281122 630662037 306446936 293002548 318979260 369158716 251573575 275008080 811940373 985920909 680377317 887332688 429151976 705204028 416676321 776637056 712946430 362395484 579148937 569036012 220655185 952181710 603154719 765099925 135869239 965952602 126566849 125567227 134564104 872156102 675542247 542154465 517772300 371774474 732615360 846549691 588109772 925678000 279198710 261603519 646043199 930974875 924132236 937454025 492162006 838983251 398210153 665239263 374411040 244581687 714707795 908728051 800355513 182796986 175529070 654634429 905468032 876230612 499511945 488254317 598711284 342864387 427047421 562648227 888441017 777999571 786596154 193728310 423537193 126481465 511903715 210099969 313428850 468887250 583468332 188307072 130078166 168524092 323390068 780832980 891583097 339882676 191153517 548046509 817929299 168428829 235119807 413863198 502176906 225910344 452024726 482285115 163445998 335242031 934347069 479539497 724855395 490480788 861686535 440929395 528986866 796528562 640667428 294540763 408066036 486460047 663044982 221072098 623362227 621191730 805891735 486129290 972989497 748260338 996747050 843008104 398593691 586006499 859617726 377961335 116457138 399866562 638090078 973953184 776008597 431611082 679192612 314708958 405142065 360089728 704300404 819453290 938958537 951853572 474025817 642838474 932574511 340907740 502238462 928414655 493771345 522881090 653262769 881144950 943057356 655308305 753511245 595067215 295237826 121027759 221279247 918823673 848566666 610568875 554983104 987313109 150109899 334032251 569657817 379782794 453127834 324489034 824153488 793635622 933748073 136950729 721551650 133517952 710601808 280001065 834221778 795090367 727536488 671476728 101547861 302243692 857991576 540072229 509730441 160457103 539412469 981848910 942977097 753465348 869375282 399686826 408319611 371001939 641450290 750696948 232990466 644641079 834924865 245158062 453924373 312940095 743353590 500394695 651219944 376311066 646924933 428713629 426313247 141616402 415415389 967171575 594456606 357528732 763214161 806329238 732619623 567515361 963300502 959017299 138578992 251516330 992267987 381034248 473750820 872945371 803010460 662690278 678591712 887194905 369563819 223614387 561817323 170106727 105513358 943394152 244171296 325899224 640176496 340010849 729340320 443658023 772318171 139008425 540497150 390583062 849952340 958587936 253151946 786966022 710095496 116675993 675233594 983955728 881255406 762000402 356953711 289703371 961396218 965814942 863426019 422835657 170945489 941094503 638665055 238074459 970338166 327232551 362968470 623449005 380929878 802829955 964485086 268666505 294836097 852313334 493247079 936342185 982032745 479111139 223426875 262342287 761254818 674404821 984279172 715436125 682543413 632614438 490205289 554794589 674407429 523081823 384371043 582030715 704594036 703868509 433376906 413856993 970415487 859805194 871856994 706425038 711720598 998627871 902916411 794539452 459533811 675947658 875635798 602409708 896660843 907845512 781700599 453525696 871791836 268356724 967720863 786766950 381113906 216823391 431154705 542298715 928339392 852554504 980857387 698685332 790826847 700396622 740490497 855814802 336709821 370486033 994130612 630721028 977459416 524531406 593722844 921444568 503363441 617659518 222886107 775983407 256827548 858880251 676381940 376884877 284332254 940132360 588182786 633228087 271829865 453015749 306692748 251628074 973043246 279113620 750103827 264952473 561579838 407485260 343307641 650793148 131337565 437375317 723905850 663096321 936606511 590174235 712522770 855178958 984350186 743663784 467737479 233887162 636164807 497344862 591150507 266667355 937241932 698642689 656457017 337960054 778786313 778250210 676799779 508098133 964970627 136296435 116806301 622626555 678226549 835000454 963839360 211481827 177185065 739657877 173394624 877317662 750366355 932306200 402117760 923299375 639497910 617823676 650436860 870830423 791133639 490747401 896493828 223247496 191503149 850070973 514045318 320807592 595016567 738249278 516443325 775240323 999955881 758672265 387531746 950527222 422529334 546018989 300182844 121421504 333223350 470955200 704460238 220983317 283347581 136067597 420475986 761934832 736235034 904231271 305441842 316751041 842748377 278085033 661207271 324496006 228749574 383795839 829570962 413043245 391428383 643709956 339092290 214562483 578669748 255065187 388586804 834182853 236966976 344181169 540788625 820019843 276830955 707131243 346796795 539206070 997064336 289510753 651439226 953250247 718253859 768782463 831975533 532223457 148038473 648346663 686178032 884919012 691716132 663571503 617097812 991577381 852203725 248100238 328215401 447185207 659981303 778044124 655335854 951689819 173046526 488360361 673919472 961453408 561732338 150666485 396157611 610038526 395962579 447935121 807716669 231663657 510459521 875522193 901209950 737346854 526340886 134437634 756496127 725563334 869077202 671986612 130541297 531173250 127926227 997834035 309265768 465930216 137679609 756434983 726632070 415477927 410674358 998289859 856551121 100509523 310735521 222901051 922873467 494522208 703445630 699954171 515325319 343342054 315962133 508000850 383006416 360656401 642728657 688551019 247796639 729602763 326656796 444283818 488921560 665023118 416724235 720859302 810649354 816261820 224381321 995455882 601184683 161999828 932834109 690942654 640930155 125875743 969840357 678561910 176638248 418232972 472599447 709044638 607244610 568342454 735397628 495887814 152372726 983935269 363773319 332277828 457790987 311140261 102260117 580621515 728611396 585433669 989857035 703199079 114752975 697583639 613979930 971999483 631263810 161775685 183739499 503157785 812829590 693276933 128417901 356120309 848108818 519750705 267699774 662137588 842736370 796031580 446067254 309163456 680148850 252720925 921668371 816153949 178483275 399887426 586906045 295817270 727763681 695816623 474060455 484573174 956896247 427879376 238388972 800642322 368553402 272651051 822555725 333878542 799078980 506436799 957117492 438062252 677620283 824893848 120680693 165801236 609485469 941368496 178995903 333956709 815403619 990893473 102842949 165463878 951385210 750954594 203834334 205243455 640706672 208719118 447663079 660828980 334895357 269823690 175734552 942545370 714839887 150944619 619158910 724893130 359799393 415712250 384608474 728410321 982283149 968024688 705231373 418138826 310445330 552898234 923684045 528753584 501732870 125930665 824151584 794044383 314120011 502088567 126070137 427275447 170519816 853246181 213592660 190454301 948725574 954335565 255945734 328025710 413985221 630318529 353977606 661231810 966740846 516907569 732355929 302479841 942943730 415507909 435903977 209555256 247327647 591427779 356318854 130081597 432491741 370922311 583881220 490798806 571938012 653992705 137678042 585487948 541734497 971090253 998246853 346232188 550374120 585355791 435197999 862702594 704993220 165500049 844397396 976721706 773108243 309198208 872434122 991811103 758445696 560649787 767822854 585792108 701212630 587243712 421640808 747500057 587672536 925387985 489470611 987757450 837708477 180269414 812167994 136239292 632952948 826331351 259002352 667497041 448246286 448706480 313946745 542004540 103468293 655720034 145328617 346973554 624472753 377644278 976574630 818001672 977956931 756495913 853529916 590956790 795181648 113029258 390624828 359945301 958491874 367007436 448851086 674133108 211599248 565477723 374475568 130256699 908184266 863859951 603189033 176111582 506242332 231562404 711720144 627423917 251927266 970205130 394638739 690352696 459143400 365486236 197663440 113693298 618378085 383606001 286508313 171168633 572549796 188277669 359822676 240191008 940077249 506318208 740428451 428703601 294702473 455409501 985226326 821569646 490074389 381570491 688288183 564400821 401245197 967742025 204934066 519559818 663374126 221217082 663320939 168653558 903630911 905882398 531985842 597114785 738931964 523562176 939376880 983561637 482007059 453411823 738037808 562084576 866568487 459041442 757505360 624151287 614834351 629649759 235666855 744165809 506367676 811669623 502501704 480107046 262907965 842906434 630778138 771979282 559922399 108949547 726538914 207475245 138516582 276728813 129717215 668631592 831030855 192241046 432649402 762700750 623276938 778127251 441460775 743935709 914972783 750003514 493710750 137413404 184729002 729344353 725317025 472176746 176378273 885082480 824661252 957339976 294710057 997111542 510281932 432063070 871801769 141485791 607937027 950399087 536555478 546391838 240589899 203141343 902205092 942792014 510912548 405147304 293475841 373018895 414846806 676709357 562774686 375047024 725128346 136545775 214264618 890224843 288299838 290675401 294958845 330236736 446261654 130248102 225012668 523072948 826965420 680102482 819794922 479246613 715007260 807659121 796348198 573096155 792940549 829147627 621402242 656646829 584043911 749870363 549493862 382476602 537442865 203092157 404234233 712263332 594900365 571668540 233832633 773507550 823321626 536457185 585699208 980108240 995692203 251525743 424562160 157172808 425567352 360007667 972358477 967391145 935449962 395947752 328914425 374241499 616114813 945215971 600914822 414722255 456892997 760811296 919053147 371497743 221002534 888324724 105242415 554433528 402290094 554518968 838661488 881065775 765745167 546805285 784867628 546567748 285505675 815800404 302158257 667487742 473219893 998722491 960256940 826008041 553790369 245622003 130900130 678594942 420717250 768025670 463811166 412068640 610788373 429426815 509208768 606516436 135771850 883721071 369220167 184682609 738914735 341609963 952896362 340208745 458657277 627336653 710533305 390573589 601348606 851396889 853556257 472059583 163935947 361270663 199557735 865040473 907128287 421957729 414167313 586645261 812053657 973263077 523584952 701154520 551492755 596412156 613898925 988058927 617089705 666102097 224170938 929777516 995184290 259902976 256923449 256837315 988887249 695008370 222824025 784973083 606590951 711904401 791637954 740818858 925626557 391127168 845423765 872199127 555257677 178376484 352258264 513079211 310337879 234334234 390645179 608516045 803430603 506948880 592653820 270631925 137493785 444053847 921153617 974939912 841900853 202409616 673105057 724283392 610779203 116870444 533382376 380765554 360349549 473422248 577461202 845254342 755510712 977707496 595703835 236750055 235967437 436334999 331318700 615415118 192805868 267564651 952791421 199652312 675495849 726569627 687008717 832607799 495845166 788299160 220509372 557854785 641003970 659623499 333016147 793841950 544227057 415842374 911743502 844291320 104265145 907099177 129474286 289052894 254297141 845486762 932758445 941357317 751084849 437726319 789151639 561615253 897244971 341818745 735960534 702708358 880515093 891822097 714759844 435648344 896467805 185350647 102777688 616057158 923240280 431045715 880655246 979403473 708162890 921532204 557184673 395676136 508820736 715914513 407369742 683658794 104610312 731304451 312678314 466044766 179136996 696052931 189824173 674643286 696681925 197333513 247095262 734211881 909119901 172630740 552251549 735677374 428135659 533756443 999491344 970049554 926450112 195775281 996664797 777209994 191050682 970154656 632644270 676942671 382250289 968857189 350292420 213515782 262532867 545842818 103978828 523099511 395520116 342692128 167404655 138060133 637414875 173567455 640749383 463843630 338041512 141889017 718117898 479157470 378513208 110473635 510649679 385060593 142215144 931345503 689475803 468109852 934773835 489852919 925680209 688176752 227271902 462521024 911469288 359997276 163196015 681199944 157091994 170749717 580854538 854008659 528011207 896013266 389640892 985018059 999463463 194054027 893092007 434789228 997931842 611684883 465847331 760601400 289071513 503009649 979757438 243703362 531594453 826522075 656281711 123125295 471597275 931201540 364745246 931223274 799172012 673260504 114976997 430581939 779913860 763892422 732668004 849948026 117232549 158006831 335887136 273508028 676409017 772505617 795442474 241676958 401858053 589015013 964298978 298633991 406616103 807297307 883870742 413487616 512341821 916455878 995799307 192742387 125197202 178317706 954350043 968687646 290390198 738439236 894674657 843071735 754492213 199968443 258625054 303673327 570225406 979585857 852283520 103307882 809513331 737563793 873074543 564626394 755652523 852329710 454563322 983821990 338984947 238191983 542634007 555101365 710993470 328393102 955572777 398184473 499829853 970234336 330686602 323092147 430706579 627716490 520373512 684031855 277372469 887542841 247876620 913093658 103195809 140318806 846971554 413494242 510124226 571449805 981822953 892442121 638533965 454011473 673638742 996987980 661789602 347106088 646430087 588979424 623529885 639253028 512401237 842876419 493400027 763852548 504926538 452778512 162342144 518423742 620630060 382562299 732094064 142955800 670524674 200784926 947195824 716317724 725076331 958017406 751621940 271720766 715724007 906934785 237330433 718915700 556207281 300440266 342287554 243381449 131713933 291321704 785753767 180296792 232321824 264651458 907637213 644568286 984989454 711683520 523582442 335120270 198850823 596110303 424853025 754596618 943911676 379659825 569451699 535434933 729493056 720452993 496865665 409804760 802068883 673370423 782870822 843401947 430047405 307001333 730067926 911757115 146588539 465634355 720243356 177687595 780863306 425002623 472577866 707805006 362921251 481364778 886960179 972276180 607860761 295158032 769818304 515232440 853418626 227752537 356007784 746607204 475213882 407949414 109214450 783929403 398133856 226166390 442015477 239983522 670234408 354293452 750688707 317269103 399633268 899774045 925343828 436318977 636151741 286142952 646053726 387517656 614491097 908759979 109834338 810362485 640270582 137171526 707318535 375867430 886557402 252309315 240365580 240172893 982327216 822165038 950980050 268317772 697923044 923385502 414988581 616954153 903515504 487662704 391357180 233609342 147988320 437139694 991475481 944697167 513912826 833906494 187021282 848616510 240449621 167305866 463610431 597546224 835242265 580658919 168301298 612097913 412304584 515726001 555582000 809905207 390241150 490068639 185862304 949816285 362226232 741294815 999490702 403632970 241553681 835667150 301501227 736757441 282936550 613935337 814185601 439364752 261549779 423786536 101923863 725985450 712245990 177221688 791353167 413729949 751757389 436333521 235059747 386933885 212915604 583814241 825301781 363990157 272453298 179821540 158795683 146921799 109060937 990454835 586030330 622680279 753105697 623645997 170762015 962809651 791299855 471449240 181363467 295887473 336648755 263979202 574628083 728074289 147412001 170934634 996672978 239149565 229262552 365248194 421238883 554760814 672875094 297382788 415030012 643245350 816648330 595523381 261254346 821972189 497610129 612279149 447272029 706380192 854626566 554966711 617875872 962452035 509622191 921234822 697183362 280457950 779401367 687732924 733742484 419731535 132393801 207504854 255218591 186593549 276861557 884591994 138797448 428368124 749115967 215121610 332503740 957710376 149183816 648526108 214507370 120653680 943855264 464101653 636499323 120907503 188305996 353687369 815208533 634352116 966538192 668979723 756499636 400171912 122830871 377856260 787137806 258370644 242504128 663663332 647754863 940153936 678528970 886027433 168675021 248884595 861172330 427068876 451046432 568810906 310504466 283201722 112836759 455574563 262672949 895156463 369175620 917113050 188235570 475273787 624133950 157599853 135054819 778162192 338144579 395719328 404750142 236789174 799779940 414786266 790743297 409455134 249146827 802194262 193892246 612770776 190147266 371735129 384184426 890461503 952578927 165861359 813753864 697857126 111475976 986483090 147790129 559186361 305106419 387741352 606494068 505070563 260279109 612279360 371411807 632325099 973941372 747092484 790807780 211083431 252310670 156238888 416352632 436130262 405628845 892565121 653407315 845732203 275930331 787352124 156150521 358749162 170755345 706387937 651587512 435999141 531046185 812704043 532110220 306346566 810273659 503090423 624681088 257750232 977750019 414188064 605346787 181633342 913707068 880649008 354670438 608347637 830049113 581543489 392924889 799966634 583177587 468030877 139736097 501974117 883552628 685100044 191888404 575182311 432394646 844160931 713697177 367713920 792036343 699476747 864160109 982993242 323872369 698076254 940843774 558784819 323862218 616856988 409977704 976054672 262068439 167409557 956079341 651995945 617250310 186777858 751837253 489319535 245031087 354435985 112015270 761140412 489994662 609188327 169330714 649121423 536294384 225326447 870361746 195680688 477730586 262703891 764962977 703007537 784467170 758668606 422474653 952757857 384307660 698221015 444395888 800748619 354732936 255733279 663671949 870275043 493517064 637977900 940384068 208401496 651690859 201432732 431425111 751094847 232661663 540448598 599671967 812395205 627989874 133537695 395408552 487327134 534185603 391359907 995146117 549961785 103264178 482589395 345012644 830956041 398250289 665294190 706072659 768536755 818888682 750587728 388093509 664586452 815615431 372424312 782816477 511336355 798528689 810717908 607867278 704618626 613799741 561586757 580713109 716189559 133999799 780605105 319917371 289706014 928574193 183015767 744010854 297667562 784032255 269256663 499474454 151747515 383012683 642042548 100616784 582733355 620481741 858667423 547458073 970218624 979760654 339240274 444610939 730928729 703722478 273384229 976785959 600059169 176348065 360992386 851561015 901301369 205563404 275688099 640809860 245826183 967292630 176761670 172956719 673183279 629325672 983559451 168562226 532495676 306909117 437627891 918995239 792862174 283905553 315335833 578705183 712226140 494192968 785929410 677684501 890586397 551721469 898883254 429544973 332022745 352546337 304226106 248251239 276852848 455640615 256655766 959106022 182364797 367922448 688282951 805000266 451372973 213908420 138867695 980038215 611401681 992221980 380400723 712672765 541984711 465167976 338606798 201581006 157298946 832501188 429995442 433510498 994030662 553264032 506256687 977805815 568645904 105284245 278539547 309223492 955288933 418096757 243731618 284207175 803113004 803703902 980012577 547619513 140799256 333993074 966942888 470389329 540942784 199679641 967116262 779794978 655744596 613565897 337158226 919103872 632034912 475176528 945031271 765971825 377452967 736891784 667848029 304861314 839342456 917796329 455023519 248797026 303927234 914549533 196466698 200070478 754655944 502562661 232261744 534600702 612031162 311310231 129287483 971950872 954398152 518989770 212474383 995338336 980733501 476528432 443356959 436178962 453852497 948663790 409552766 832232509 150754904 776016603 872615820 766068371 900660414 767208534 157565290 638208813 811354247 300456458 419712278 842748959 553468011 162589572 534328930 691522092 191224830 550035117 801804287 276221674 303478508 465006640 639423036 352348255 775159534 198144515 387146580 860512752 868291086 497837670 770579327 750923347 925367011 588221976 103971181 597165427 166192016 228882314 167259281 126384153 414161156 566365083 268641856 186347473 459380085 821974169 972629982 164780780 202426415 928136584 310106847 220162121 385316515 558126963 625943668 169580565 614217772 324831819 646548085 245565509 338037964 414639131 814876703 256095087 349253511 146406164 180959379 215808263 125611757 217109914 450653783 572127666 864165767 116574358 115188422 178300223 240281431 750047124 842763722 641809559 872420743 638379861 570463855 534760556 756412774 853031137 893076445 234319018 255567669 691798078 679285166 585329966 358895263 264054772 365210975 850820245 306014764 113761401 966365670 686172490 901651310 873534608 423451086 795915876 471349508 652631707 285263561 122195360 640903625 140099107 970592809 833884131 890033704 562576576 473480405 296129770 382134725 444314684 745847248 971656429 854042771 600791950 655432247 298748045 861250036 605342803 150765660 756839809 768919772 326200703 266011180 733631243 270340114 972544970 431082136 369072017 875009005 792982293 198407148 100708889 950653802 792636022 286702699 410335032 740450932 374703523 813075613 276728444 864280874 484715182 478768697 488415250 703821318 411247648 106515575 339937050 385330633 618039851 675854459 966263698 362401976 847539963 860919231 374433487 253281328 163198176 219817056 273246357 506097682 967357235 345340190 611510882 134791939 485788826 589368195 492622824 392061426 506190331 314355188 541447237 743184973 231831102 674127799 897161771 584579391 109871740 707762104 478022589 330348854 704580628 727568174 223315080 747113753 424760368 385277821 620765190 795530400 492466918 418442872 633881798 988922988 358931398 463669203 380483363 777449965 867808460 517011552 577658868 914475541 836595125 879588540 131780992 276909383 181895755 678393785 698432138 991595255 986340260 189217115 547277024 585565001 550807463 982470937 761758432 572083020 962595097 826408852 108049935 262653811 591354012 350084593 970731851 442646602 500989794 679384365 444921753 531038507 669738199 182175334 183831624 663467250 797673975 756093111 524685021 828223694 908708910 733079690 442730025 377695512 222190607 755976577 945880673 263129346 918075658 778192436 414561909 277243544 465971796 395419709 341097497 753809188 722100300 646080039 771560479 830753216 933457270 136820625 778020727 925140113 805695798 431160593 725857077 736122457 153641734 645680467 988829248 420114446 955525046 780243383 901961009 475949054 625054440 588036787 256689735 309043790 167807825 650769294 584974980 863444192 250277134 427898717 531541927 161197396 443819029 717467194 252098745 528325352 553821634 286275964 619747719 976003733 502922162 467108574 486417463 910137481 800935012 274918323 846209007 330174142 466297238 589419501 313577597 869154451 557561334 359800502 230073638 426287307 594210320 469007478 152360650 538694217 821782762 275146452 162120114 364591208 203518225 396400262 156011262 397124577 850777993 655858186 934978358 110186659 609473889 697295286 351476261 984595474 224412536 604604061 702409921 220121698 656608858 185252159 858149374 659829122 453619536 887598640 979447366 368301794 758166757 939249744 884360486 157626869 670057210 871122135 541585684 792688755 990843934 906057631 585005994 430457299 159458358 585600112 488660769 268190580 443676534 927120024 543511986 730433392 379364973 335228277 377573553 753076809 132097512 722098959 776066295 232286337 934599185 368124686 377727025 928467946 847495666 152181147 537666694 948340074 549217587 755872045 577949902 663762300 687216900 821839355 971735796 602544052 778353836 668284402 691884742 245579324 643980188 286443380 898342031 755001545 473605070 237028040 428974554 145112592 957485392 974057044 498988731 318417408 651979162 905476165 302086196 142077129 218154916 560055263 268662627 104564808 559827164 819967394 752323858 181514417 324128624 175777851 312186412 822447135 770708960 850607978 703734104 150494814 994451755 136018864 436716772 826818642 935581905 480264576 797810668 732230299 752494692 640589085 392440538 614025409 325562513 726703684 603247113 147090912 853773139 871171753 811309512 843527769 768928838 987222181 608460048 640847205 327971569 799129079 526134920 941077883 134525491 335324563 172450102 217610419 510685207 944983731 316706101 442885860 663520261 324189125 370938488 635430692 892698230 224106245 261746158 138748942 554025685 351491770 113805484 685009864 282793669 106146028 336634128 463240180 144647490 321623910 472337831 846226982 491531977 263591578 348926650 242354119 922186225 721468220 110818187 186226629 492358782 869372534 555692676 450410027 200047482 421331368 827314063 183874280 680199262 332939128 545022835 681489046 251931383 661964641 502450984 301168519 277164573 769977796 386801077 743753479 615382058 851039353 600617619 101108190 862634556 672744841 877561737 226246444 683339020 373921951 369905325 493644684 498353576 283864687 874272427 129143762 726421950 232454547 903181964 776122545 972023328 867783609 920220780 474704841 929632671 839793097 194258851 766084423 528395198 810598899 569103179 668016610 765249285 529577117 252931100 967430115 133011616 662180956 579848361 520792752 192962009 917997462 109064673 965705352 275627094 384735330 942208795 787917681 770011210 491685287 752887787 723401573 491131799 329355089 847339409 138637894 726078842 160060779 852451606 878130772 483852841 355264023 555154176 567323020 828953639 532299713 592663367 676374174 427773488 809172455 791364772 712439746 106413387 507801201 479710883 302375324 956463540 175482782 759563042 906746295 936127091 978829365 980318160 503909221 765982207 733927510 524414192 976941254 854593625 372939203 656428126 114732307 998758826 776885761 110933826 266605263 566651351 536891239 682128496 980827086 318714957 512645691 609065510 870877394 146686565 997130478 206969579 896204066 546259959 844166975 508506935 136015245 329498902 710490801 666762478 763439394 110996133 271287270 723774960 899570412 323237953 782805289 642437971 148556702 270206973 295545748 835516036 200788810 891017427 839326001 965499026 299510386 987796421 371028411 865734907 538293049 126886024 728042398 245534601 538489929 442010438 164583920 702255945 323838479 957015360 168196313 428342171 960350023 469572863 270349411 497733098 432784244 206200605 742736331 962682186 992951506 502678418 704872844 384878686 543785967 348344949 479350681 521342187 990776984 739624599 496349036 753861627 744866721 976740568 344766168 413645423 770211448 147732967 944887796 924438832 278115159 231345137 172038604 801233093 287143902 125956083 543914768 296987215 896292695 766915495 909567053 183248770 887490378 861841516 223576572 116490204 717538785 494359794 240229106 951784654 199018872 235563154 680915740 443108346 302708500 912651741 163244265 336977618 544101635 509953119 984197263 603266444 796541865 473706233 535965205 333597514 546458650 583925381 910094845 150321066 702366576 948380584 393816430 932421840 479464736 254061709 861360741 997572371 880679250 651358944 778907722 392409406 146316331 205764525 637682346 251858360 468649062 473169437 603695670 642985352 771649634 205966521 166960828 572234700 919330322 752410702 862755150 736303782 739696775 367771813 659954317 745878901 953941814 459045361 414772176 926535153 289648548 525468394 921609698 983812781 632512054 921631845 221077051 210660184 806010032 134056515 917326554 542975038 430389868 345225837 424479186 380830857 973907040 180148257 959098594 208615535 622887570 240168093 983383982 439180464 129397403 928530624 786246806 289807332 685614928 213628395 548461342 120182628 543390828 676820663 409187634 524595795 104806132 175144376 190987775 316187240 708245799 656876850 757955016 808922027 595282935 958146787 308913407 959918242 501047812 714362699 745006970 612711322 465876971 900401743 614016942 187479276 624834499 187219333 622063687 850023536 691970974 651856092 438920326 169678524 540686911 498950824 304408488 691593200 430099579 733966517 103757671 600339187 113574156 884868633 766503711 249293233 310983763 644765299 741779387 560483781 849425540 468956215 293853579 404182793 336778273 991470601 121740075 390818325 407158772 897632813 885017395 562529182 113469129 238192848 567875696 611186007 479106886 103930833 416201688 807678801 195130878 434343874 932417501 719344357 583615530 623946585 724251709 186954999 719728380 112547577 143435830 298118993 183411540 793778073 854319446 645871605 232145719 382732882 333881363 460256105 297896917 627986311 545360244 272424111 517574896 968236201 700561553 179609187 865331102 600051250 899098242 946525384 234334791 673141871 923103307 279169084 705435767 708958768 612036030 375046112 136346915 700499536 998649708 478552242 179616528 621600576 942604126 310181916 395205760 867353422 619665676 351475804 772171385 722884802 287643547 461176835 344311964 552523133 966945674 766141970 862139076 921031442 649035826 687409090 560011406 812556633 833009110 961338425 292058189 196413303 971950920 420054041 555245416 261461310 450377716 614499750 954963970 655079491 188365335 125887794 193388930 104733419 941698935 934433230 840673719 359829899 906278175 535310268 187366974 775253156 500235972 929472346 705703943 861517968 188569245 964030400 796909420 984673487 316109190 773668535 192090396 481462583 786819444 798530965 352856728 759347498 670859413 289686897 205053321 269037043 515690522 238656364 217768961 595711146 227208247 558950147 675327429 918123277 526205763 406000166 667559450 736208931 883227078 364122896 461543712 444600233 887489658 323248146 540313248 126069325 585171261 711765249 644493039 213892166 765576406 442186531 645021459 841026857 704245864 906820702 767911244 480422859 298752508 931865943 432676590 607139058 423455715 518603261 976512609 569499471 492977679 750219635 851553200 836266912 963123159 254294443 461220321 594915517 219318676 884692149 785566164 643589335 312227474 460909273 175863013 743821349 207192926 487554656 682028471 549386907 482260921 508495437 139846313 621126940 374601335 889883702 829772242 266489096 828168509 467093532 283281276 294701367 982535083 214398041 962932890 170470779 197158264 734895647 890765337 710847933 450151961 995667081 297802216 708615631 239335289 328084740 267545854 495052704 222114044 614966178 220367732 652197438 135807899 528296465 148539425 657164627 204955681 525817874 866868185 835653822 295828151 932911138 436652350 531850484 436753819 726718339 884614773 497618234 876282003 750768767 728204727 882623060 789771204 853158456 901933937 467833593 849677954 443138168 178908184 223869926 631861148 990805261 666617999 630039004 933516198 550487626 221226442 517298267 911503222 551407518 154098818 869873866 267274869 910092356 384766850 393471347 552545270 156584663 829212692 752739024 276638326 648741236 156045050 382636889 761459953 240883848 208192942 963866599 622893517 305079421 465226094 652574597 260999558 698794321 917002562 825646661 863501130 171906719 143793534 978096277 271441109 450141157 207114733 625288121 258521058 408562378 281538760 145784260 863620833 499001600 629482031 553911560 947573351 699621612 311518665 995993560 428678292 154430239 438172326 313468425 203797627 192203018 653285527 216217756 277828358 261670698 923785450 555898945 338161482 322970614 741402932 191828576 331021486 141288110 640663383 500385386 832717657 925487587 735148379 735068865 908259380 851894420 913691002 890680463 520474785 635617590 414616933 459681488 180802514 738654631 635995374 125403466 206182897 761093858 610423474 780212824 440604703 623624398 443690036 410762462 580245819 536504799 224768332 778459726 334841019 963908277 754634420 948237866 340020926 567001515 650884499 814252140 408694063 136543032 147594231 885129904 836315194 671982549 536188078 727613831 405919901 103581696 287047050 336476103 368022970 519141892 280592921 974346723 594042335 800314281 381886211 323816631 588114603 241584100 588633295 457052537 188233604 692036278 921504599 679969335 331821344 823387270 563015105 813463272 506782150 576803588 602116323 335733009 207994482 498213972 148002578 662132555 343617629 548186178 239557528 623552487 272648202 272395034 764672018 806463160 514432829 345758787 408211887 300668303 512844153 708024412 294101331 132701070 138089546 814007935 226263005 169578245 371616695 276431598 583809948 341009222 278593362 347460481 810772968 669939179 282385893 768777509 887020878 398223175 413586241 163093760 634601662 241868106 251244952 648051518 255326466 432151602 338995388 723685519 304990324 672377523 752581950 844430395 779081078 735721471 308882159 322131463 917002980 665193121 388300072 237476994 185388940 686126696 344566769 190677771 581922643 488372886 405710349 950867747 686431010 724227174 201359317 224194655 168769903 396061664 380070289 867548412 846411880 497900576 731577814 139919235 877492692 749107747 150607149 585326562 349955573 276387861 576176047 802805603 503759951 139262097 287858691 187250208 897968746 854460439 891786856 215503997 350428795 298016394 565523664 391870090 657015284 435165592 244277595 282524536 125692300 664864416 230147012 567851415 792650313 709584088 511280064 135863124 247875494 319671715 562144665 734948252 218016697 257757082 123510770 780070713 619617673 569163169 647749290 488024573 397192771 946377895 694654731 375164991 677091596 829720490 248680507 916345552 492575476 844473430 366075826 338473522 638736853 447696739 862577000 991597727 494218472 271407937 732427629 117333987 160959828 177640440 821403705 491602521 388756763 525022469 550035031 674006115 920649124 348611969 540940554 153994169 389934664 868010197 609622962 306902425 371216937 361671182 336780045 236508817 103627448 874553050 712447751 516219593 784926858 335100740 723225834 823179193 755598531 534193243 512092023 668623234 707638829 956566929 316179076 756158097 140188644 398818829 584850462 904269437 683077424 276857527 137322068 949540586 674463903 211146212 250500352 690615689 192802711 907430418 977371296 144629224 427509653 367682851 141064809 638663795 117792417 461195265 299631215 734594372 726451343 189377779 122784602 640244675 258198149 402215274 452135207 410286168 216820678 105647945 670485852 536150340 705217591 462679656 340943518 828961937 716632773 796470635 690220332 475979995 372353282 446014876 860371008 881146811 320514029 484357898 901332433 874322436 298096139 439982599 779632901 665024191 547647327 561867650 632420156 897498247 129914720 870177741 846812052 552114734 805599108 887123075 979995455 925197259 414253984 866666319 297182579 211854270 617729690 168905561 550418130 551879906 435574289 788603294 336941073 217833600 184394685 641739820 275938394 186372514 148816326 703808426 342030174 343421827 469631165 839716471 704421115 355889864 149370926 333781701 536171634 647681832 586866795 507509095 334182266 559341486 410444573 271982898 275350550 320562396 994972650 670318598 314090320 997964752 660793762 146221907 241649679 353450884 690596407 237133554 112183371 552379517 587774035 490067675 145058644 892426187 412824576 289862401 268603634 741661919 394163587 657646246 746095435 611956320 721573642 499021698 981466532 807076724 686341491 492801016 216947650 467904904 618340575 455820999 552778631 896344672 586181108 747227754 367534242 680986651 336233353 999634014 991447365 116796166 809359202 252599571 347216529 978592500 978203788 543139691 419003608 581569359 496305528 626545684 535362451 427717177 249530535 696908761 760852288 439003441 443830905 949374278 255875288 275696709 667006288 918803713 931442263 352124060 297813383 870868217 508465451 930984931 512508885 102811172 374792651 818854279 535808638 560737099 527239757 160020789 793806743 472508549 663429355 286196041 299758920 654644001 212136189 511126751 880826745 923908134 537604557 813615066 692020173 468779354 202369211 654686853 858480126 918027170 348461639 944633047 504697170 395786310 217111227 869805202 737808902 873241061 644611641 190806781 104691098 601362864 638577824 948231275 209386723 701328887 155790362 461862499 669318453 941800100 834680208 434440212 806526975 536120676 910407205 844585616 842245529 695570089 474380265 390883941 917763352 972111673 806384824 102217661 538901113 382427407 996524787 613104884 933908901 587743325 638163563 938147505 631453247 734243569 485177581 317432528 250230456 814862919 586360538 923412319 777614694 545671933 987511378 654348992 209493361 721463097 816394989 869080083 643089553 902234601 985060348 126319668 117382916 270326504 105434339 982187679 320063495 280833963 685272993 385316978 251656920 833065032 438069505 110311978 560850045 784369860 857407646 514445774 842933202 401122838 266811721 320015464 421684994 406622937 595733650 880056673 800595468 185076424 653858435 214315828 664974040 455658076 102061227 732177493 573709260 341467882 344100434 626579009 991579453 373893644 326892739 721165776 627875483 288369502 953144334 516575075 196916780 565093701 411295508 398618193 308275974 747302731 604553081 623993677 546829826 737579319 393780929 467972853 918740630 291593332 851598031 141435655 690609327 572569471 755877570 931397217 721394311 875916041 713374134 794806312 105311449 926221443 872118273 343319116 171786455 102395926 678623417 320013983 543230964 308074864 349020090 229238699 537776613 387560315 206415569 440699945 148112994 220319619 569220854 760596364 439919560 928414917 387322627 877943312 682111350 436358834 603075398 893935356 369078220 681316415 861385314 518699158 689075812 841026030 334719350 406920281 477821163 120893178 969306815 253378430 952943147 117063445 442340162 141505929 459125264 258361459 189799664 577939305 534452215 155042907 286929534 678177276 119499213 625092677 306327148 299560040 887751655 115715649 867585882 256238358 870696006 202358538 418558237 248673374 688813333 125193067 215860252 279994761 787984773 328899867 710200818 446004419 510924496 490059131 649939876 509129882 735144476 267595316 973163061 245810324 221256464 553482365 768950007 255698755 647011658 584130847 380878889 177830268 272642935 607812260 785704331 240141999 430785145 472527578 392894774 428548644 533321301 655490746 513817832 883298855 768988560 582385135 927645619 153679506 359459793 592875152 229544588 707157999 881929455 287525488 314709639 912552301 950325244 795507032 194606501 598384893 670971133 193334809 759163544 656496550 981674569 939466407 590400166 312301496 511846905 679626504 589370994 374293784 327576912 277402154 328137636 788579069 611467263 181650177 572399949 468080738 510142377 705358020 336759569 497784126 660120428 515741097 759062680 834233599 384764123 383076800 789325249 374590739 574619479 738760796 634387517 966531330 915941421 840592957 420638058 179030419 295085782 459790151 536142872 230614872 851218357 479018551 763216177 727398740 384979669 725378072 234598898 615994775 709900862 116983682 643321602 421092658 492217173 290993306 326352973 498155750 101819105 558062383 225474978 637184242 633317139 710928519 396002142 483583601 413155189 977142090 516202211 987195044 540098782 588996647 519866731 996197458 508430592 184112794 330079371 260304256 720226485 874696112 534625785 695920230 387396813 665766356 305292554 272004637 403075398 110331910 891842805 771192724 376524192 301189910 250723160 400512428 185982100 809185353 403112471 944912034 654995699 399360050 219230273 647392774 493663748 251469045 630932718 421005251 286514153 995010637 195331249 894614021 299252447 565062603 687293987 790107721 133046526 801657575 763557816 522742673 826429627 981794834 357161426 569561124 243890600 680084588 269571395 899389985 613060631 271979449 821329601 838230437 213119009 131289687 882234392 817747520 680073783 808301399 589446064 640484691 436792910 166636384 114331207 211698992 518359083 559061226 798477759 611953861 962795020 961132880 492992108 724591191 694514101 114380326 752437556 234224371 683380057 513335731 435557482 683541251 852534368 244792391 636890023 362832201 629344310 762845684 835132392 853077391 517236485 755068745 643165327 217332279 789368396 542073291 240984109 664990214 356551973 536156148 311540913 356823089 217542410 599568892 566903233 162935285 513663182 830025903 781922413 156947905 290333709 711130029 199141230 788932412 370480653 168903461 226458714 920337127 362388268 771889035 185481608 842569970 283047380 371802241 107855546 464530670 306109497 500243116 876087723 613117780 703573949 686196946 393453327 667294291 537809054 135184855 954246782 914075985 623287117 437379345 342046069 471150896 962823102 397153550 555338390 514837170 449261063 749394352 122024477 642166284 543714104 360870422 458445161 139922234 535319308 560817715 647373846 701487897 726428774 272815584 900285521 105852107 474472453 384901310 910312805 953337491 982090200 768699266 204272773 940181384 273750618 984765543 145707095 738802845 222303103 674737956 989228778 269556501 292108142 677939830 386085132 779463126 716855539 167259878 762899891 203393520 716139332 372729818 554733146 126197982 755949993 107434962 238337961 357576627 640387265 138413301 792505030 518025039 645712437 546953358 138258763 356893553 433120192 818509972 198066388 420795058 601189122 266238308 848027514 139697103 722581906 992703267 147549160 804579078 949074570 553271775 770084918 586786836 985793189 980235766 460482662 338905735 360333341 337334286 877049229 537912359 426817170 747617562 719564612 718418862 558331282 581087834 924916791 203565020 900621078 706058679 237137499 251017313 151166423 553566851 511828754 328203419 119801721 432570731 353237260 761558701 793570763 696989370 615863749 763954806 546050470 386376341 195165306 781693415 858948246 186824459 794514832 700522975 847062709 580615634 946176428 519199709 895754071 672936546 501120181 475564663 164160556 453968035 779733613 702799692 424908909 735046630 457091411 889887023 508563629 609766961 992139179 825640107 656194048 486296778 565377783 128743338 450128088 364570577 252708582 844669717 223381883 240082758 152158561 618030169 851368323 257520406 390866829 651176723 369273483 516104235 326830259 180142291 581687279 743467821 593079853 830137969 218514329 719825166 252995318 940365454 300807487 576909397 348494654 961150515 132418415 875877632 625723233 205125679 841799824 760641492 363396299 809862920 611822571 234675152 582515874 892167793 371533581 819102283 348109411 770021453 135212239 704230238 369768462 374592979 384358351 885581300 940311370 335238511 603999041 187759937 654020136 415275250 184531733 146919374 506645652 764805471 210109393 468426600 169993558 954933303 759600837 610441738 129718232 859688060 726857712 403601870 454483279 670467747 606908310 278632860 616551653 691093776 722240113 968021422 577719376 936394049 158347554 507940604 450605742 869033105 310891826 850603939 612125877 436948265 497834468 724398313 644451036 579690434 326323803 802570540 849130667 477098814 839882537 767769122 565592784 413529173 340517994 628862832 585162199 580851420 420156630 843235869 232776053 585782563 225793059 886270400 294324311 285168206 485995912 777332876 832860798 684074618 409881461 824988440 578670999 244531510 628719359 561216757 261400985 739385722 283551348 426769115 957054738 761130127 940322205 187965849 752042701 916801873 562966493 235454313 596944305 384370278 275956856 918812450 804210075 657042159 812083420 927194950 680508873 197388671 516728765 413957390 989641497 686481986 794759933 822701734 227484070 963041155 480174373 445251207 567348359 632724077 788761220 222913798 796018491 584075164 788820618 279795029 548455042 445338490 773401294 495710360 897634590 896977363 492197392 757802826 468876549 243043942 671531151 511307839 235758137 960816759 642332231 769503036 399458937 235853760 128939688 270967119 880366013 646202813 825409534 426879986 250158549 789003007 961856458 485987435 907987947 199574394 789535871 823165811 975044471 415030372 239421081 514813427 593245909 883355273 498081226 637324022 538718442 866823041 868040968 222587421 498964494 466421147 106652051 549470013 272935134 116518199 351357842 758530343 748391245 861052565 903957632 112403370 169922449 688108785 932458035 960483175 734614586 827137808 277539934 335381784 303533486 933885093 159195746 365304610 555024771 455901809 444611269 162740219 355519106 801524946 583947551 650014071 870905379 420552941 533951658 223444414 861492754 455299467 250534648 986959556 671404987 650181842 131168714 865725313 545911411 151864568 460802320 900282605 651692592 382661674 397410747 357844141 980326278 560892766 967734690 813304851 767125441 333157439 181623125 972964870 924887859 630090212 424724546 766543678 300342390 599258296 501004372 588130478 191011373 638134158 279816889 610874316 986389306 420168596 631540603 284297769 560129402 741810792 803880023 303173320 972524033 875016420 863647715 591654923 264484190 368498072 210356754 548019882 179263843 649305256 810632444 508730030 591208008 107846053 766584795 973398598 483990509 524775622 903856405 440395368 420494904 527011765 136818461 499759868 151512888 721674832 712912367 677218264 276465064 495919719 378596167 364868628 799851914 225018069 556739608 636648130 969129048 764336261 362953589 688180012 791621469 701429956 971484213 449708751 934392619 670616763 432195636 673981003 818967641 368695402 995371711 575979275 599034659 569280316 831745369 818108406 686955865 320401965 360259402 141523618 530248810 237544320 613537152 963924260 724165218 238709314 841317546 916201313 776156441 439710109 244618176 793692420 191952263 574043860 749080005 259100761 199089260 287599299 727011166 644906770 128276775 129659951 680334500 555129801 502345090 982389731 554115863 285653958 153216311 110937417 156805301 204232832 400109652 734641345 511781323 846780049 492686306 700341685 444370248 523954414 796944158 563407865 560317233 272485203 316148718 326679632 880983840 988180925 930217555 379988009 595959771 870383397 737316016 637249471 510354742 783558915 349016299 921733228 843363629 778470222 140782258 380775903 194871282 796739452 109598570 417682550 373572839 858796757 962730981 136040088 862982204 619151344 218186935 459273396 644641202 360007201 906205824 862230772 661394903 884929728 666496064 119970320 254394277 365571820 557098213 378528993 850254327 971043776 429362038 711510789 121432030 430292831 579460171 159367554 872173918 797580684 283121490 845013545 142454740 681625681 541602704 422986179 542898321 344365128 845129090 736455649 729989595 480705604 577022426 866073975 129825139 332984972 118619189 658967996 430030756 122232317 708056217 223267826 783863708 379432916 637496577 566827297 936312397 596010554 415603856 815089981 468171834 518896031 807605746 321213915 794670069 954529465 157805298 457389373 399082031 526598424 654710163 537508777 571293222 474022712 827868249 293437402 382759701 295573284 198461921 698814246 726472613 851014597 700984332 921016488 349009252 973936169 634308601 453649183 826735877 805692331 555568841 108602865 570210292 911966597 471855044 673624551 720873297 201713723 362953689 907484690 285317586 860882772 655896528 929106167 656938372 927201818 516872980 698807018 292602852 762625866 181709710 305246263 208165578 320967920 299902672 867036702 823106993 178818583 569123263 193426752 268089406 873444904 958865129 570038590 683616948 529613244 545592241 174637410 127597722 429587375 180854925 308945510 748140392 204068215 461056518 667993210 796958038 111376814 632259058 977928424 970491237 508605571 967331533 675529530 954205775 778147555 833643762 547427233 363631578 748893243 981358358 953695983 513423923 199111922 475376307 833705897 540370626 922496204 860278531 459310243 453846455 833936001 926894722 862549053 506532158 230504488 826887423 456023470 917333443 464777229 955185947 931339090 621294457 411804087 946445030 594689189 764251277 439381625 754886739 380239743 256103380 758542789 946246847 387203570 649884642 838349801 858293743 884358029 455317184 218889554 208359120 644901842 286078543 183663435 592796338 318321152 616266044 797114284 599801355 658439401 398584405 346194146 332085990 417261331 781991040 236883664 797744767 236783925 444904108 422566997 410656564 773424555 909191005 777042384 778072432 924786925 852062880 844660554 296652382 222442044 267035380 738456642 388781398 459377904 729533017 135652867 965181400 875856765 763596875 376189090 634443217 632919240 263835610 377951000 123613124 139095526 320860328 269721316 166881680 590115363 891561324 417129319 909045959 830268653 166266879 352997420 564247265 100226814 343109636 670489629 525986752 728219598 139796021 101494575 165153210 830301139 945247212 240640112 547935414 959225052 898961140 459720555 779687637 730481403 730603735 104751612 912656577 404171525 381716874 434076443 882847898 513611828 225572990 278264220 503709666 780975354 523771954 465982840 426285003 331061092 871771065 110361812 433325531 744492065 992361555 421753089 363588969 535468814 347370073 205746776 583146281 481612038 684923932 630080305 290222868 246940416 654672404 282394255 682283275 340711888 223713405 110511178 323361126 472075734 313323076 164446585 411362378 906331777 221061059 376854948 806960125 483771067 311009208 300499157 432169699 271266978 622076903 576143599 555305242 586698100 207983386 159266134 264507456 960936249 414054598 339537167 436231370 445144698 733830429 275778290 912959900 690232864 136958357 680976075 978167868 556512656 874294248 111568349 132704509 621239618 776620246 283320376 932905000 620469337 201387898 731688580 486514881 114456749 859658324 617339500 393625460 206874341 268033301 479447229 122201773 860054061 320719495 658904799 347448153 949870134 412588152 594115166 401582685 782344600 937750695 618260434 931105326 561219779 898247401 647185581 343177190 170841402 642611131 452772084 207904979 893933016 948490932 626391273 451326760 986680877 780841145 683818956 837186578 736998583 109954458 579860482 353780419 429118278 646729190 826413761 812426539 131276091 412658627 532372709 667562328 508124348 978339005 336436423 140404102 304187029 378422568 759551521 858456189 441969307 614722129 732115055 513478946 434248458 510122448 931928353 758158493 669582894 815048522 121704882 251365419 215890869 956158417 280444306 553614903 117111751 945720830 356446878 178028362 310690140 310931026 494043014 178089060 468927411 460008968 169418262 908029668 508392510 639609592 712312551 154676920 926697484 908844487 812799396 705727218 343395594 290271793 432370347 994031056 874298855 598126563 694458340 753993861 603959917 925833419 499383330 739092718 633987392 935985406 559694961 519596544 164544297 419175834 127204628 877901202 376924743 112995600 882247739 798345362 366771775 881065048 185623170 224589185 372572649 312387742 602241099 736769155 652898961 543313380 529002399 423482177 485921635 191904235 958221581 170565575 721020724 320612885 516090443 292889250 748206730 174304468 367816017 688117356 754973891 186832411 847639845 840440002 253514744 934384857 480675372 362032567 643716156 328167072 864431243 403263779 688805766 630310615 820675414 362859048 240444232 920676319 222743728 436424710 229827848 150824055 139314336 871088362 404190133 719358652 623926414 736458669 887661697 516088294 312880409 511038139 527241202 264036663 926049696 830568973 389150303 525386531 833337072 580044177 819839148 592808097 739403357 308700214 984436362 796524197 158205712 689884200 530545437 969285339 545765659 938796755 104075883 447737259 457248931 752832114 621267138 740944122 872602213 145141432 933383035 521786538 403981176 485549670 754606723 721086119 690314176 196161946 985188239 503246588 209952160 691354913 144250708 176579316 743159477 305139974 271492347 159458270 883301670 996928342 303473750 850312361 693135096 700447460 142700962 997518309 835975625 759705338 774748544 466578724 860057228 858885003 770761737 669731167 567897417 173168613 685353659 896718881 208400764 620208603 480344111 741274576 896565965 827198785 599526546 352918280 983772242 469286667 182574619 621005741 478514737 884524229 211372245 517414523 726891322 422901795 862385579 957247629 686564000 135533105 240821717 738645751 683823942 352783200 261225255 107913552 859830505 403911032 206686952 931573756 609552925 934534221 101504017 182657322 672906445 695481247 618681394 981461845 991515925 556274312 518208181 769761008 278069511 947441079 995348738 160721353 494969039 958153168 743607195 467678754 170399414 348116880 764041054 945420176 138665090 484605267 657781096 216428259 951362706 695688981 535572258 393162401 208762345 643288335 883944133 326983280 559347562 760283607 421045107 391019481 103518544 773297878 111721976 253613966 559764723 523663400 162055100 924608234 664268853 662155793 187822992 615437587 736497944 497567491 202932831 887332553 991200525 827351752 328644127 523195450 732607869 914991508 868639918 747734391 411656752 775346775 263229900 828231865 161370001 922445033 638198300 141221470 707756307 801390260 557572247 554175268 451542634 625015404 281375516 610973012 126438417 355780341 642709393 148877109 137030774 418610104 507994164 895812728 827189847 772215423 520452236 707115236 565389979 612681419 310630574 642986833 504469424 802041377 418320930 794816536 894814316 942881438 462192044 503491353 552143026 738407681 783632755 653888723 125390875 516308651 159552462 567162614 913888568 466716362 623768443 144206285 895284293 536212429 298319826 847225801 189306293 495639880 661690745 468423642 311283625 625664188 350288413 830705428 812008613 752709036 643688748 142207696 377636879 611101222 651003270 821214222 407552337 558036468 929118990 391850249 534036031 502151982 218645493 414063796 238525226 119144284 135260858 586043752 970785330 495054082 582617399 246037987 555818188 335116076 832187962 248945937 742530032 229783698 367473389 658813263 134922283 428913249 228476381 587216834 293523340 372453796 350765202 861992823 889250727 490385106 708714341 926291831 371994209 567416888 344044789 193319196 789114614 305806664 130971015 528863410 599343187 876373026 512571907 270572844 141177630 855137864 440128869 488457542 954253165 184130499 552070651 334622939 723591385 587895548 291386301 801345649 485545933 110540894 486850862 743313122 520745466 248793908 703314236 572547825 885898519 997320180 321766911 738855736 686737291 556024821 659577306 466756467 612431618 971626241 846877150 699193324 825056474 133413327 630332437 930565459 454419204 864909789 949884537 361176176 934322869 571446274 261840854 248884677 712466030 152432901 903956149 107685755 314883916 268962845 571824367 703943861 928516079 150840124 659879589 690351606 118208052 155442145 320733818 177778054 185018075 358248772 238726234 245543687 488236035 569836526 815145220 123359989 131861342 720263974 950902856 113216372 680833934 408006953 456234943 155011145 411369478 348325652 281243819 615737658 298166028 157094606 835669576 374969792 973381976 300203716 609596280 810884772 497665753 658930852 939910711 220873656 353743128 425642338 563788223 694869034 709069134 671972588 349346434 769764819 622178777 998659049 561180156 430512032 648182525 598901712 144447221 127963742 800089255 727909570 681289429 238452495 555788954 206513908 793346589 179251896 932761585 293034838 683247642 617498938 913988256 348418256 660530579 459269175 507389075 592398604 532135974 305508154 647418700 460898096 394036950 238326204 583171896 502980932 963183941 409753174 263179850 191723301 443945419 387228203 497201447 678546562 796624122 661430771 657162112 969494203 875839715 228435033 118027794 311246135 254320043 882928203 928060109 720181091 377344604 396932793 992715744 289271606 698370144 327360419 797726789 988085008 739970102 375158125 621582677 217342447 127213372 566054482 712250525 458876781 920323944 500837638 994977891 813184483 899129460 986469446 890060653 548641383 400332190 434592146 305295393 318815283 832133505 415763875 211225146 467807892 506814067 614408137 537026714 717488422 236317219 171281020 583046043 813699803 815631988 858545951 134403970 569343717 108975305 856671995 333178483 604991944 483786882 455820642 259278749 572217667 912093162 369571106 155118545 102846386 997703810 564391771 484907154 316846708 912234727 622643692 851516520 126155162 914350717 143958420 872234602 977464859 743394579 231754835 588327271 344067130 880725429 154706069 263161127 934370630 745455969 725030440 815491311 416473307 840838419 692370269 632673972 750690833 961183321 920145902 699255812 490620002 691056417 576418445 396145727 165358589 154905188 387692402 576562272 344593743 174982270 963613415 293903417 212744234 809073256 133406329 645488561 644094857 688883832 240569286 397614645 356767833 278109434 142292565 260807343 666534851 343093776 319237120 365357847 626148886 293799375 748359891 164428343 138815666 186780018 147521644 999505594 947207440 135626228 724196677 495493226 704975707 460635890 144395528 340324252 846500296 555674517 866116515 422611036 290938902 600182919 386704847 684298513 963476393 684783985 723468420 689455272 890362447 114532320 345243297 204374893 148234176 613745641 135243799 315196701 533636329 497646418 412414383 260252141 346160118 188662958 922646882 647460998 992979364 214798738 548573761 227120327 174700014 950270275 657898951 543034370 513592681 589974692 465731940 579446886 962321429 286609899 510448903 683345426 255645871 801511062 374894052 758183987 533962364 328500338 123855845 316569112 807209893 884651307 207874795 104869257 294894559 138124744 606718459 544648947 276540729 818091227 569202050 167033232 581649945 118692104 107262194 783891732 929175621 171813977 131413571 894762240 218796790 619461260 438137367 424786483 386166958 182541946 126650348 315354267 494926325 539697819 750231885 185630757 116574439 340572463 852678465 414234933 556901937 836965303 735947266 811927333 174820841 290047342 477974079 300697836 903689005 462913257 791763650 145604440 790210341 407118119 524690387 631314279 276484392 962177124 460499352 202126944 870736551 693868051 442158736 715364532 584899954 334212066 539231557 567009078 967062022 278308783 698312614 618473790 648974451 177840284 148891023 349967664 568834332 109742919 453870484 929947255 722702639 604051369 143011368 118596644 899577772 152907668 888075561 812964480 989270734 902586362 492633702 101276611 456137511 903662514 625103640 155654333 958064041 811070446 970689954 888809537 442436697 134641370 486122571 931596917 382396928 710773981 799553715 554417623 371619298 291586696 276380090 216767488 508859035 257587445 802513133 388090997 274095024 501634890 822841435 726023939 110322796 580854387 537271205 124966286 378570191 868150377 838747804 191893395 574347563 982952023 249750817 600474285 387612388 148058257 601856113 997130372 977647381 241673300 742011260 563468398 109772692 152445519 753797730 892264580 116401487 867029391 362929196 558560813 971913608 803034682 539092260 515071277 665813427 138032182 836085395 170274191 522469543 360064250 214937720 853097276 746008750 472178819 329203734 912794071 457774060 205154848 273897327 659984833 152883842 635999412 604442560 828980706 595521555 381299632 407106288 526149223 400871663 170168638 847981837 394203598 348310066 795367560 972617101 600201455 668334539 467988548 220628498 912584655 113168825 797701253 774152598 406739876 443003803 998595918 481341861 848210004 284794893 837109578 634046221 894608289 736743562 173090408 152044949 635335780 904805079 415230732 160667875 936806996 613699407 894859693 533926670 929398145 267537192 664500388 188465648 106870082 375075475 143827442 762539179 418038705 723810235 386897408 754291225 255595007 715130658 560813985 713741880 423464819 163587271 275700876 829271316 531112418 449042616 371964637 712594883 251256279 411362371 971847451 540477771 561608691 658961447 453095329 867822511 999938371 326140211 413931136 847401976 164213959 752012194 429109671 488701130 617454782 288166871 691171983 941135754 599717550 346244885 909816973 539919165 184357627 944509228 133958473 315063194 369529715 665903043 636681015 621987066 232733419 417519288 922995220 940418282 544472024 705447006 162398575 526232495 254216646 270190100 520316798 578458370 920523491 332534522 716336493 172637712 439259561 474979446 898139190 920822207 311252823 585742639 711930546 220720180 718663486 730507082 139295009 958701072 507841228 226441722 205027707 410160218 112355045 342532922 870996229 248430744 918615078 943765916 862783257 785445049 237162409 861615968 687296964 931116691 305885371 902492408 437722418 849643114 262452108 864346722 383417260 228533740 993663229 234075880 594134883 644693656 961794962 780789856 392025649 552709741 897697908 357186944 530735420 230811845 199677223 798744876 746697109 499949453 574713399 331364985 405195213 353387451 610387838 529564262 875409291 662511436 544999979 487118067 907985288 971700832 995754299 670111112 486379336 608658885 877117346 472755422 822956960 386482473 912853055 623142107 517527470 478967540 439497580 519477854 415067107 491892145 690234254 729903439 391190491 311484055 508352425 375625391 149445075 482109322 405481319 125463174 353158566 754731537 407380960 399363378 101791470 124615697 551055202 231796147 123286554 286791611 266027144 777407378 689318786 433314948 622059287 162182153 462365713 881929065 655582109 147776590 204955111 346160174 664330878 838891132 356994043 885206289 303731603 362578363 472054081 217171988 704994527 157382364 711107821 643587145 696112143 522792894 160069800 365079709 371785527 841199052 247115095 842709517 659295848 744223403 397844505 635708980 786226897 344002845 120463905 353213368 238395963 656833492 118355599 570148111 498806805 562478400 231935054 266493362 545062124 637724375 324651415 594208132 727932985 727244722 180750281 704413128 888807428 124719706 209342454 400951074 737383986 947148148 191334409 102055828 926150036 931733495 439365024 328104897 422297357 575320933 603240845 686974027 402349995 143567712 955205648 236066489 987162310 386608058 427609027 492805498 233221813 985425326 251159213 655737214 591715380 361256444 634228598 695584577 198826479 163957227 517262916 350451734 742447713 617396451 371198486 936105149 600021407 946168832 539514547 819105050 158128264 947407280 242196567 995985652 564177108 812362416 658455523 398555684 543158702 121597878 857897828 260092173 189365642 454391363 147292966 430725634 503899394 454529198 520682604 844769197 785212639 843767833 824766786 973599215 865143944 444482137 297677242 148063354 145416535 119666104 823824816 872571216 223882502 530798917 265983396 228930977 233156337 987082869 152467504 127055707 781785326 398397264 316160303 626303223 897569886 722324339 533178377 546718854 204359579 323641878 805127145 401682508 951892085 572418908 728674645 503486091 270797746 837092166 314802468 893690406 425908853 962679580 178387910 748640166 340438440 728699274 767314064 701236101 548452346 439126149 663813929 951470301 420958663 409663942 461537656 288309389 623989650 192311446 721814117 907023870 713198714 231436706 569121986 255362212 398322319 135858056 621630094 105253068 469412558 241092924 851205860 509485935 155461384 769726655 979272640 682919724 232910789 232154802 566137189 241073923 246454145 714088474 566233248 862339630 866319486 498709737 651952747 494653119 773775432 990419448 169933832 928930092 180336065 909357309 607010292 232289832 959025053 181908165 985593758 973619384 729772225 997144791 139989161 833339490 340429464 424881534 189242024 844126976 836536608 901373260 291992919 605827498 105103521 108285261 717728757 347641516 228478980 510992084 604426202 418262131 326531332 124104831 763567878 482808852 331041067 921780249 497495342 658610053 653785795 441412970 165430895 622501029 701660516 274453225 794322668 411382727 225922824 719110721 841426416 959781266 203162595 201495736 346462187 521536236 789146704 818303814 779912214 486728864 769034127 792775818 262201613 928489650 340150013 309278057 981248928 838498346 551199433 917823127 603808657 428405512 948143303 865136889 935717335 758103844 598941188 811805302 889708729 712781220 833457204 500434330 109674883 272739340 259459039 113008125 759909909 329151239 654129059 353201230 600469008 577791708 985239890 609297081 912799123 446352160 122325592 586074362 670710853 641632941 660388062 222463670 801472234 498490080 116032273 496063400 776228442 707700343 738876479 973031028 503902395 301008295 563923422 505533986 503496301 261029914 450636922 636868005 431048887 195364646 973095314 271613986 868933301 378014237 363434984 503468220 687714560 740253289 525049419 391661276 257460769 737519610 666119175 223504739 144340775 511317206 387452857 766382607 977903656 922569662 806556234 521689446 789935226 269117074 534135920 380444114 915902224 412241454 327755050 817359205 961650824 769656619 810261075 631562495 974339048 451893911 162888347 251271507 235904874 131199248 550625698 763566325 256257990 673079672 701614197 964317430 665997827 331658891 990533621 176401714 816434102 893577613 996594080 378907639 938821805 742413115 258046979 289750807 967195158 910405972 284403602 126262132 704973074 727321788 287724815 868271248 585432447 376895753 575083339 865830472 397874850 528856439 770227740 103621689 618567324 793560828 513796961 320391261 457065981 740797682 296922872 930214877 686467157 371592443 799965586 946115726 959617100 610694603 973579248 353484318 410548912 809561091 648317735 261647865 142732182 942816922 746319454 411399439 369164366 272843191 865301685 882650471 695086381 435564343 833743738 785122058 344764267 668539382 328231978 452819193 709242368 918948905 522387394 258904470 306969700 844659957 554666782 841552468 406445125 781601479 998327016 876520813 675070647 366853428 801383611 923185614 768410202 618415487 599881246 977232999 200372801 916812047 653939880 685722218 676503957 380868597 851202694 922627717 130762580 164571801 432389710 663990734 901094880 456928482 158585541 247248597 242335408 926643624 638787589 755574208 809709121 884615597 145497598 938179635 273659408 940061650 622404825 492707334 727796705 103298579 670211584 371543323 892242084 711303142 800831975 375386038 468468506 962386864 145160060 846548468 344641112 803394041 965443610 332049195 221994269 610657101 284557119 382435302 530157031 165798515 860229450 499980412 331836557 381016838 953623343 579739379 605357614 566443122 118753229 156012137 918218954 481122094 970716414 439516792 790160981 822021640 962505494 752172873 619341524 514368307 664320773 245782329 458899488 587277864 235661285 392197236 147019227 697657840 557032253 914995452 532180536 652439181 938987108 959016126 289526972 874019042 803328733 323926623 530735151 264563443 573763810 138862749 336771648 680621630 355363096 895777892 457192297 711923759 115563344 661783181 540039728 119942607 990281105 149709842 984445580 544787081 800064069 513793467 615943499 552386069 778483616 407068073 593897658 654955318 353850049 812331418 813803450 584699714 721429966 350365740 443119385 927038661 884997612 976461983 298574865 811927356 127932259 588690619 371007458 867728139 561334452 526600009 633930461 141695956 435128360 242914705 155932794 418249876 110534527 192449648 134883901 472749388 249451824 353420958 469887605 313584084 517650725 387563230 176090598 676031531 270160829 412789434 118466317 510398028 868997256 388984640 612545031 156311844 855673642 359752138 419072129 796832233 313577811 321689872 702541651 119925008 332735207 418461739 199119776 129573818 736115388 414783683 814200045 153682671 867619646 364595559 187716086 438442286 795349133 717420714 922753100 789653443 656753873 613285999 102514446 911525540 383249188 507660957 574040426 145144293 983940050 911823828 106471943 581265408 294170777 835032174 467293158 602486647 570485260 916677993 770841260 729357886 554860322 716014091 425574201 967793903 224328701 542184329 410784169 192784382 500559564 794168438 506932621 544389232 270715184 355564538 119469036 151664246 129414667 320040200 205752595 553468512 612712884 910787454 498293858 425381319 564250757 263202027 758906050 158876292 975507272 314108558 779072538 265085155 661760972 897417768 896096549 286119288 284249075 428271175 652725945 663592939 238449329 982897245 910266429 582258309 525503175 926612613 731714245 297525437 656685702 397276664 283679458 780536531 633268289 930092573 940271813 175407773 948198399 460431195 626368875 290772566 761903107 420035163 693053464 991829889 358696380 748246610 702951688 331327350 309814075 588074572 649497077 355628281 443352901 352046476 897709150 818568543 945126866 283987870 998098242 247194308 133195769 726196508 415246527 931741779 289255152 386161768 855147479 195334505 607041801 300165018 939488844 425159027 972036959 364606257 776549689 197810870 380911460 810480500 694668277 298025154 666502279 754327872 736919490 420931556 888719872 902122355 718195326 794915993 578283442 113891534 413863905 257374918 351753441 109042520 225744584 913524587 130737575 644156285 354254071 551583479 144587058 401614829 283585702 205841073 191189387 585739076 548375810 395317063 876551607 131389075 986908614 379596298 456135153 349081013 496126476 952148148 550718363 733826855 951773450 126146384 217430988 186684393 603436668 695269457 162094495 690535680 303078671 978452389 571065888 160791655 642839450 253318302 715325201 292517447 958490103 176152863 915212634 695118046 403213506 230813411 667267057 954650822 527909584 381196233 836907829 241277611 168614532 411581848 212324549 109726852 649803951 697546156 662249557 788172729 808027277 153003267 267276355 927773073 215649198 886797621 598656595 928785611 404208201 761452351 461584713 314354195 918603912 670823612 840370517 612768911 205085453 382002278 474566414 811597111 666453679 931043246 795468488 663496518 801715906 131551837 602965083 587503434 754552000 318039201 904211171 309250197 152053534 632078050 271854056 394780927 290428543 584191856 162480255 201122269 831311339 659226491 210170503 159121124 676581891 930881620 260840601 553636863 359747733 199749517 727394262 976752940 568363256 642260959 157609951 419129763 133803575 107768994 623086854 832773863 691336610 215798525 284559291 609380864 452076451 142249862 830979458 652063137 133120346 216285310 506826275 161112477 471352957 982927428 648675023 767990798 658462703 227296210 722122575 667919609 321737351 134992759 793489966 343157116 996914665 478426043 138693713 223561432 963824270 675632402 124886809 883362859 929587662 513153210 636239471 303863397 507282469 613146725 665626434 263121071 405133045 255248166 659445803 567515069 560932738 787782122 533385211 351405000 333716689 670821618 859627810 721886560 758600585 566295594 938118108 840296350 537119730 247607825 294198925 853231292 122508399 335802763 434226686 316004468 519186316 979183888 409404376 633172539 367232720 332305217 898171358 268308572 923536278 268309973 168217890 858723102 231072544 392671199 844637053 948577917 211464270 123672147 798207842 719184134 233503189 146958746 662837667 815660707 593139362 602795557 777933658 774747395 964788421 359968923 245635232 213268367 128259859 783673146 229168798 602928068 551914768 323039024 231087278 330821782 764821976 495413781 113729696 896782050 410960114 626995598 378421841 478987650 795382495 216676966 765929793 449081002 328049385 207715499 354893278 849546349 531969643 351385549 803851864 931556356 303025287 977262684 552010168 987721862 757866753 262520928 890092699 726870172 590398677 634426641 355459500 651165213 926078997 553810233 698746901 586225271 763243964 378144491 689773962 140661172 665130089 686567699 391703487 721768458 266301429 539143877 185650686 484659892 523494787 245991916 526296832 993258852 943618132 877270804 811325512 271265228 138604588 510853555 898488693 908292637 688084486 853682643 157220989 755503587 812830371 689345591 842841788 634016053 359437564 555738256 973486006 945741994 914953321 929564734 219406278 161173804 643833866 415318633 360436889 536714149 436501174 745463360 184441829 933694373 883000904 965904166 112765056 486965773 717853406 427482555 742467788 923351944 609272259 558538743 141115481 334465723 879350858 417110516 697852921 290137938 745859391 718239329 451311038 343212419 104188560 223916095 870209144 525511997 981223116 198632465 784401660 229414604 236467776 702939389 898357917 602765246 773345234 369136011 479484390 505918724 318777006 675439750 534973100 966822614 200971906 693937218 751304779 659037605 419159222 608782788 418552239 737284120 257818867 429407947 770530355 196723739 781873088 794751730 830434897 824536343 893335966 864273721 609980008 634525177 640115972 916075457 229378443 870018660 382502389 850887624 644782349 177894409 405057744 839256027 651727977 271460982 606018887 930270390 958102045 955044119 847598317 710390721 480382930 512142664 686659480 562781318 206603269 708421555 126356511 510256271 713058565 998204457 772388672 346135011 100475508 959559461 444598783 500727290 887058005 432525370 125580244 921826709 356442431 201019079 737619653 644032187 366482491 212673153 454032757 528429245 527426291 594981647 728382032 187393370 895869793 571025426 886633827 402420164 369898939 267405439 459119923 507741555 528466617 708737985 483125219 834924816 936435365 858376474 228170787 220219463 716601836 710789666 807885746 927783059 568451276 741630435 246674138 674312786 156387630 565485420 353953140 735228112 913394104 683390950 606951366 728548380 596679256 851863838 415580623 827506970 916931665 194411333 856846089 204191281 111554111 323971862 483106242 469021071 521873096 708080246 272765262 732341660 217092750 439152262 503320793 227148121 674333759 561219607 205918912 108704000 646580972 178190238 476035928 716677621 758696624 254448695 712584063 212647549 969434346 208815843 420044903 184852495 709697992 801162347 224528041 790934718 719548825 271807402 855493928 474468463 679375621 340472634 857353193 622070560 359942510 939668073 886909885 395591350 728341498 790642904 372386585 142577618 898085061 980469460 309986015 664300533 707770988 154685321 709603327 744160325 704823936 412245164 664409708 718860460 987852908 388931050 868003840 598824923 160687783 891364445 300247747 616673418 981140089 813193970 250252102 494309376 282304613 354295303 657010471 282880042 771100212 842691899 994392657 972289757 381486272 966002659 642647023 703169096 977008497 631614215 260328855 633587591 687674439 907011879 505501976 642831499 505538415 699304763 683365842 741759637 169156053 131248922 280904421 805100366 476278071 550415569 779599712 139560512 566743906 188227564 165839760 956377462 870103340 592440950 599056173 885033578 820641881 716414725 392450391 348243187 437979713 527340708 346815532 830727479 875529083 905418131 181013669 377091907 897701303 394994690 188408067 241148943 589571953 841415578 416876720 234973380 994311158 214429265 954379126 312293200 568775258 130016699 730516583 303605950 962458374 820561927 861089119 364291909 335336942 469988616 405756035 974002733 395429851 849338627 748176360 432570388 664282287 589313187 706239350 289275618 192583897 397781275 389526955 159021345 154680356 147751881 829130360 701965799 708529838 385875364 274804752 374207137 929107110 973194678 452697050 523417108 828708078 230802051 754639214 255252643 199740086 449066278 423875376 496021447 271706437 200490799 221610583 363860022 399332875 128651578 233780954 892917508 360942855 113514650 339157995 192545078 280252732 949422348 606870365 897781756 741390459 244571864 594058061 201593815 367054254 293058255 987353906 286292386 939030142 659549559 147691743 136234963 458694300 533821533 285924604 891752074 881623347 108401376 853360525 324900676 797027142 258362557 599132558 592418683 570802438 530103096 144939005 243288368 957152332 562807311 707097864 615229279 396153323 355224007 935607566 661174090 369896036 828655950 698090035 489458583 927884126 267421764 386486294 879798263 233844783 360190978 283925562 254558890 793204820 194971777 591269354 171714013 205036082 110903299 301341706 883917982 249016911 207257096 906567035 869478223 793906295 100994600 967416557 433664346 735913547 609094907 258075929 418285243 994076357 855365718 453459040 916085368 529696803 532906873 907294899 103211808 985673002 467280780 233838736 751732763 268146263 841390865 206252230 252256403 484639861 183789176 819124162 937487071 190380045 660582223 150574076 110969883 679677653 322401623 848228861 402730595 314790268 547698570 408237804 387106111 813851306 486663356 659770235 913186638 154334828 621443527 306943205 330766226 483946686 696876957 731767204 514955173 656584673 845267789 477182009 765619141 590132806 207824808 569770386 914302626 906744409 452803103 213304078 593933049 362138447 185829725 405630109 820492467 475985272 694754507 986236338 855843632 191467199 856738175 508185200 546987890 593696896 208155802 716981976 908188471 380645032 906349448 799898146 175427918 945723490 913163386 651911496 860639142 732080110 455721733 218747675 739502250 316726269 439495984 657836011 501564599 363146513 541348799 878549676 676464361 808207798 987667983 511777778 485106362 458382140 458316074 950162126 330849893 100639727 581435481 838153571 114177332 674173430 368888631 727536602 699703575 704625334 666947050 267460172 702509552 902466094 483165067 134300165 843417132 601060153 770028722 372884725 181429840 212804114 320231206 297323027 535502724 323907108 647091270 646708622 218342299 146285452 453193286 593776394 393733337 645647407 614524238 492431764 735659810 613687480 450831031 777888387 428323385 704120512 488656063 520752460 387214801 679038304 849120607 238892033 605334776 165937644 503823322 762559631 556885792 204293327 115743529 258012915 774699423 250998317 818818717 618194044 686348172 612133726 342256552 329564066 657446011 214685643 376406812 534702363 346752675 321843485 922687483 464771696 340264577 870562103 105895909 664367148 810895731 389237548 536698594 390218228 842026889 559580178 562448745 985599284 152275075 594607081 784348478 851937981 196743856 168455597 759648685 779278515 785232816 920699894 383327758 569858645 136828234 832920339 483289795 598944592 776331115 723936617 598485366 903591328 386994437 818454901 208082745 614882294 401383625 790481514 429269508 402002522 974397462 456534393 388145969 562982704 181463846 484575509 591195614 381081351 419421608 457704290 623093099 206074961 368106536 620008419 689102185 245164553 935229515 947124326 786232614 381195361 176852816 236148678 803458617 551995613 600310654 198451567 850395157 149350884 417312699 891832281 749978768 358335855 286917473 704513238 148248726 439572991 620330922 880061561 462897531 368214638 939475193 666930460 184397982 390899326 781158790 754529521 473709488 681100536 291989202 508685371 282292588 389283457 650462384 970248961 380339692 401938027 121712072 606719386 841300274 210990717 914955148 216526790 919211586 327862279 159393411 439990651 770024930 902619785 720119843 750653958 764419392 904880473 384872897 929899067 502569369 761968243 892200531 732028845 401804760 922314363 246891173 793143233 124287607 615279504 550012526 348208105 446257942 761421513 929266815 358127387 608621544 740162782 429957315 164632266 718168146 568877609 634566030 920770253 450579005 958949899 572140783 887409481 175816092 715773228 277843808 861662337 490760274 677259827 986031330 275166623 927719125 311704428 612081793 325936513 941180871 987984667 950490285 532511397 930053546 631811371 511551174 489377840 109850709 317568298 535212398 677954359 415306483 236481809 452157065 785771344 340917338 959605558 435117673 560720213 901795229 750536037 592628246 767661912 539137996 593435375 830965191 801544111 573267142 110504302 708606538 291048567 914194000 345353182 101612493 523296820 431454072 412464930 275113139 752773106 412587470 727523694 624874804 630233799 387655142 323355501 128911096 799941210 558505634 506128214 660731500 399810672 155765153 700846289 614583155 703858861 588025616 957045132 431181496 942728814 739832509 769717102 881344151 529213132 810710515 232302878 988360862 135963576 589410403 208689584 524269720 263538438 771523856 136736002 534725698 873026774 853114488 807622909 627144988 608282171 176815965 415907348 788770334 803686657 870124189 648398161 589069677 433408402 134845441 244733633 640922878 406071448 865119410 259539225 876253818 462484087 597995584 773209756 975091412 251014912 861853012 122377404 556127366 763320526 572030918 604074775 522257723 101464263 703736138 761054427 764958567 600168494 214200487 974584391 203317769 569856404 946659106 220769891 952640480 920538975 694440570 756346834 574583640 132091474 434511980 823318921 402604555 593167317 813154197 452242700 928086078 829273283 673824995 307258402 992707239 584609270 501760986 438113579 741297277 126121697 441155631 431432298 244549829 993919089 657187545 285477669 872094264 877361371 567183735 508384331 571036189 262090845 265784100 528072546 557760616 843573623 533618678 865892618 282681162 394364065 326074927 576895717 653803718 317155035 535643292 178939745 388785556 823099185 430611015 357578400 235330623 131467382 467232499 229796623 119786268 956923114 186962033 552254642 661558183 846896204 174959431 730092232 554925189 801498590 617813639 419689137 997007855 250149158 588625439 216882684 973303043 436344535 758235294 252563697 845869020 199869046 378588613 957715918 239581559 688215615 932025194 521824235 517463651 758146975 893493668 903571343 465131148 927918808 953814322 640001653 549082749 260692501 131076950 965580327 701730213 388247757 794922279 298235945 482040296 701698883 120042608 573290489 111700007 686053597 236683178 383304466 438870523 665604017 569613338 308876247 536269920 868442564 879159473 269950101 267677632 367567691 249249341 932673103 312669175 592828285 814035428 678376403 750877019 182305052 363302975 315195677 840838149 757731450 699339789 596268286 788860684 892208167 536937991 670105050 610664994 922970077 608635194 447517612 444835229 526153169 382332470 435115920 425996642 700499854 636337330 387707148 779461373 456479371 361943217 950686141 756710630 724512188 498606998 930088097 390769808 662123707 867030141 693195150 412656450 706254018 928721210 726450353 776481638 460742523 876688725 809000541 185402101 142542103 456299509 626247765 257425762 330325561 157375309 246313529 718167448 120299064 130078184 720247567 912077369 122661752 529590514 131731451 206641398 889626453 659435669 821967970 105998988 757985337 392905332 560028533 492866384 658444531 339599757 254182114 868020375 899232282 819794054 704507624 392870624 624751172 387413731 337399200 914781079 187325303 231213378 160428112 977414454 758486787 440902564 780120094 969391066 945379642 110090538 518575743 287320118 284070485 497232994 636656763 527263388 793390480 102036437 334992616 889708910 170178531 958609325 665695281 553978015 180989385 572266559 368519641 859835641 415038972 292330253 698918671 185860992 967342940 272451624 372927298 803518448 140247755 520103789 995696778 521491860 187923170 866123490 759478292 574829233 927123491 571417777 144079507 476724861 485049371 731112125 897492334 836462290 868073453 127286448 586800302 134929368 519644884 341663163 974316597 100878655 754887973 757062663 603720580 545729978 103978101 191251733 526662373 263911005 551754916 927673240 181938668 929265637 923007938 117233211 446437372 561992577 494891794 899656477 303270478 473672623 864345094 248434321 357055486 943361530 849755340 507533861 899031237 983814335 819697919 462914001 658070829 735557049 375945016 293206682 556880542 546354682 763110111 471416356 930520441 104241916 527628944 681645983 834565853 512934162 879129752 810336431 828353467 260476863 559811607 251464857 946076429 948449173 528840599 589944809 493752487 519546005 509736044 510121785 443644013 852473513 413044190 357254451 144188713 186311312 667831715 326549275 409473154 930669497 970079913 694084820 553359972 658372771 568064803 373517515 464391630 530086063 866691003 742712326 321357637 298783711 260151036 831547204 547260762 377485157 888977462 984612552 753025229 411782136 740029348 644719623 823488905 635142158 952541133 679010568 672329282 490564360 787715576 614645979 215547003 801472711 325057616 464058415 240285280 741468585 808538114 864507788 903514183 781446030 783744333 663156911 501494501 466613652 983704165 684943286 958605912 391466346 837812373 530794026 691112107 536127035 330515211 215446481 718177276 200598228 733787654 188526169 843702486 948229615 523115118 317577361 926426995 998961071 407815400 589304794 115921247 609314894 996597982 524240135 546207990 440856896 159495329 952710083 530874960 532262760 804719118 609083925 108011208 562319608 905026798 859227192 374183360 658913693 826916541 574034216 818527987 130043908 172765455 824838050 374077079 758247630 956526018 793394672 723252046 824358990 520159953 117698071 380906376 168785702 310420551 692502572 159421975 637365202 111199005 200197566 799206362 739314598 610231502 300025355 204601568 177630818 332145067 249304088 495426573 560889080 110206882 392492601 840631080 304685504 905963419 800734749 652045662 536247329 699133041 581319401 196206729 982950381 228312025 984802453 439981653 816204014 783273899 780320075 986441108 712744502 502832685 374893398 857732461 788358993 685839661 133482814 490530129 867166273 299379643 183523916 525379456 572555550 184057207 896867772 587735917 286631160 124625897 266945739 858382998 609196934 518583213 764614993 295610403 203401382 706541431 634311642 377527039 437018125 404595778 184420651 319777898 742362696 368243410 609749607 139807012 397629294 799775589 516923337 440228501 754028411 643488566 191683697 542588951 412319669 524773579 859688829 979063591 750285232 584116800 160980606 140135405 848612224 463081224 371262215 141794003 660688802 484928705 944875915 397716607 822030481 456524779 194166058 323861779 679087110 727558314 626763465 125855714 892508377 227838793 268221659 747510428 492068374 910233149 721632036 894358824 907838565 629585347 257409928 641586540 335704767 539747279 240395740 672241606 954316324 981375369 644141771 397899399 315526237 212404706 866465379 453136629 805855729 182780969 304815310 704000956 486218096 850665757 486180765 149201081 654897924 983210477 121632911 756220848 158505956 997748374 581880387 337923084 972950521 346479405 948861822 645353574 684677201 203058197 311053796 554130632 223702647 714655856 249873728 283209496 554768326 276971049 899901814 677153492 557160309 968213241 362438873 453132253 948820180 118193838 552097311 776149933 442571282 409190296 826229959 499667491 715303145 875351018 765061593 857755932 458491353 845318871 886950679 476341204 689016687 456691267 115822240 543801442 454522456 722776010 905983949 141740620 862235687 176150099 570828580 871444392 326836529 752669558 709379279 339810750 159737260 443904147 482749591 461840589 400559264 852825029 595313737 316898047 285582879 487751442 300257163 658696277 343596887 791070368 919241312 656653115 471586768 371889741 479133487 880786940 218354781 756369147 443623407 707102259 926545224 549925848 321209231 681480924 732006884 179899154 400072134 674264730 589459530 803096331 385701448 409750630 212700107 404940553 895888242 988678446 765778575 582724580 846608969 827449001 941851703 706059840 194174396 800649351 258657193 795550987 194857731 602004103 177389045 309059050 304466312 972613968 288672887 456675505 252751773 329326726 620121978 447854308 882561420 702243745 686510572 667821779 623582279 753533363 281205010 120267457 302754173 535163716 580298028 822732115 299903238 275310333 485280711 254789781 542721421 815840674 522943105 507163120 387962056 805805407 990845757 165516360 909287863 491044681 668013457 339061145 601308298 966989381 125423626 897549428 777888977 798614797 726734545 907746970 365066721 687055558 230536026 702839458 274787162 211919372 440591328 958713574 119133028 389953093 908465702 750763196 393087932 253159319 230726252 311716010 896524830 284129632 965408694 102893077 816878886 627353293 752582651 838643582 575239104 441514651 884195584 336575266 386423955 270073264 171043933 980799009 396371798 745884516 114135992 983856478 343534135 639789374 145558046 794413280 318333498 170841163 614207958 344055342 691903923 933465792 868692988 436971650 394712539 476460438 622586492 955977925 398759368 191700709 596782018 791343520 694610800 692430211 796331411 963635864 737782280 365039764 226773000 151881611 395121955 955877250 779524655 971028393 422065482 343180030 568533199 535357297 329575889 130615586 137164564 140481300 751501012 802026602 436699262 919341594 887137792 251954859 908811102 998427961 193886116 225518030 659649941 759431748 642280865 439725225 362195948 650598533 274647572 821737514 403424685 976110259 154289302 644137571 550591289 772181374 879199528 636490320 111574335 874513778 900284409 840547028 635877124 581479989 840080856 444606238 854505214 825594640 607398844 782429645 176318105 361803837 705874803 541928988 328615798 709137650 339948737 141758644 758188231 613904572 768664227 640859387 688395947 448173319 773058140 468676994 305133925 254317647 480928632 540685567 108271859 480428512 665093066 946670594 659861383 962456004 841812260 187311354 494873893 557008374 408230617 986506282 569284193 838933096 573531980 388932788 356548408 329120663 122125719 910780018 987221194 318374095 336732769 487902000 467845104 632862428 975383092 694769601 688550777 457505826 313867685 284476483 855627092 204917469 266424738 740850729 672657930 513866186 640764325 928883926 605753386 277589459 124743200 985498353 907362502 962611697 217301159 354148689 786335919 773576062 192781468 121990594 355764484 846239074 312334787 479827830 735367949 365586434 121710698 199100006 239750330 518262814 665838813 258122658 447884570 929416148 568233697 346270892 968145835 213326208 428675624 624344241 243402959 345766402 930070150 263480414 994328611 988010759 273839623 557468860 455737146 134586307 860532133 509282702 883236778 431970137 998359302 193158244 795389275 908891040 388101605 386828779 761127789 176133234 895063139 730435964 652125095 266060020 850972239 367541896 427719247 319401905 811395861 509873674 861624422 367845448 424219419 953820496 945430364 188853896 791589032 927884906 590939485 165023942 105801149 495634246 794972437 868916257 820475564 468111427 909068801 875004940 457372427 109635978 997179931 995868779 714952473 798753891 104967714 470661657 376109189 485153932 182721138 479508872 870911781 505862274 987150792 616461957 664486057 289909793 390552257 798736563 874691425 312064568 513787937 371105836 891946903 758202941 362258968 311180784 882337110 661263551 713993385 559950440 723730885 290950634 903278993 718575782 862574843 628074637 385785084 457409389 402053093 166803132 282034715 972943498 750832269 604184889 556926546 937162526 415942832 144776778 195806323 458456200 309581798 813948449 336446080 553148718 639833917 877371739 289445257 106250400 122085903 718664732 555334225 732340534 925104555 369229885 554932676 409507002 730741412 145499100 963427764 184303214 304479407 455608342 348758221 901029403 537442027 345259490 237310776 371539669 466782228 186921652 537226501 211588314 887570722 373856686 392685582 415876574 974915710 690951930 503579870 189837593 577594383 657216552 465205342 349636873 538436816 625843482 271191593 476635263 917444241 156203275 264434300 310869643 174401050 639274643 888883745 681201798 704852945 887946980 755498995 830064889 889598729 426066235 102954914 382461769 385693640 447621109 983323142 347581119 407664411 781212043 886885729 118581666 402635868 614104363 122537129 657461158 494539800 159374904 234800414 269598046 962249679 891338681 344093349 535548706 141626939 645997862 537080880 803127521 553041589 935734042 229617439 723709376 593583786 380256394 870444430 652330256 507146128 540746949 774936068 713429710 362900477 843076001 455606764 433070950 911269541 959196799 360352904 879442382 800931557 237566344 522539380 943637570 304598986 704223319 961310480 411146285 268149238 508567952 385955260 886357872 380541804 184223920 724582188 299269920 545474377 241814824 773388536 168369567 231111226 569370373 776321207 550827007 304690956 770326305 135399285 379275832 996289047 289467675 321335974 654556318 580749483 162280636 641676134 503113526 937677540 845783335 613992439 924860469 904175827 213454597 404290992 813141838 911967891 164795084 704225655 982534945 529535199 885431384 661824927 469449924 314036085 883052730 776369112 822810619 611422470 272649371 834042855 275877442 831344954 714984775 125570756 601360338 356428889 147435507 994433133 916219139 914764345 220410247 153826232 644379033 814468316 367942455 814358082 206281828 801352351 971035956 683325558 422195921 145245039 521772261 457098610 652117059 275137153 147969264 194533707 392555695 174809710 769625943 880776972 384924705 415005788 688255939 887804400 151879575 691271451 739774198 939952420 345673967 561637012 131178921 356964408 881981944 594462251 415512319 738871224 659569214 869008248 242038493 625474683 113608805 245147289 969892463 308457298 633971185 367031682 964598591 783028610 272042639 107442858 187196700 969918766 213288921 215519846 724720572 513427928 509229643 968916789 546023733 725113464 259609815 498845125 721010937 757732412 466628100 661304105 814244344 317455832 204848402 238516524 530718619 384218711 902748560 650388953 239561328 711161543 100243486 955483967 546228103 481226426 984540059 859271894 993538360 978544316 132445348 169132963 821581430 976956098 155890364 155490647 286239479 521683792 406454842 583862577 341476714 590697008 462314577 507578132 128515560 576392689 730009290 550004212 840091910 716849833 310042645 217287515 969549127 765457812 381923805 893867003 297584335 189138725 472661402 806225737 653643597 464685042 542420626 240297850 395395101 799080254 302465628 225097097 203110769 216803100 449780462 900132826 314915447 291422868 812622136 339261746 433015536 927330820 377073307 859525098 547502199 716205392 831947863 640426849 584716965 343912640 854665072 270711627 604130018 690416530 684010609 262290592 817148248 949807496 192400083 749561369 156712482 930530310 451388983 903038423 869939028 704390615 322328386 495291587 915680327 816409311 899408192 194151362 859875746 667677289 633819767 369337425 104465755 709013970 559401731 380065479 946369655 464658112 197129559 768343814 759918468 948715635 616091725 919004559 799277337 403014691 927476701 869729070 408510652 452012948 149890463 338602559 208528906 327580305 346862455 114780237 254667497 699278735 387379765 618599546 616957634 820674817 672959312 973880988 185614532 993076143 229698989 281156345 481427564 655694149 706570832 402646587 394497284 414773245 912845692 500175329 347338885 978957751 482991798 105703570 253784122 232084330 351423999 937015007 265346143 586428932 725873546 753686735 478413928 160298550 999785928 918891617 466480288 821519165 555028230 407054311 727421615 894900005 594266482 566629166 479276413 867669430 817644558 331298171 541473298 118566319 305630319 197068325 462757331 239643884 875475317 494955562 976124064 952700736 134508349 233805658 889873269 881077496 296934124 404631421 870725347 171432469 198668610 420130162 386646652 581120403 404315394 955617816 488312942 282920933 639894518 778918721 748480361 354384876 526853320 717217550 316192253 674010520 832265596 552217578 302070066 540020094 679887528 253613136 951239200 411659416 534684486 242208239 442964553 911771548 517719843 207329745 336227089 515086453 273374984 558322201 379741220 898486905 674626258 461204048 152890034 525863354 975440036 875525411 508948488 635696371 737823026 132872974 238560482 501763692 653576352 955455268 150535130 293972463 426040912 344358850 222053439 845394720 672695718 134937526 851894913 726229622 939216744 867384892 964385390 556947231 614949828 459045128 741543478 220279626 281395314 390605174 706036777 296621318 300829513 169817302 863019777 120934940 902747199 323001286 694800735 471531474 108492254 960673368 531569147 137024515 180048855 165956698 131183319 124108040 670521221 392791345 775321834 657647025 828349490 146184222 423949372 783394858 717091019 354669991 173255744 517141420 225886370 140537716 403769910 910140027 224307785 424213008 830268948 599350703 892001206 771309782 756443704 132181669 838000862 327219621 144022985 320254558 465184839 650996031 947986749 556711301 905545429 741760157 947919463 775617079 116374434 659112184 814152410 497226581 152820088 525897118 791627175 407573458 328607060 535471279 582270009 587760982 553949473 503426827 702667588 845779897 349681102 775539147 414165797 530465701 767689354 722287299 746007268 628425899 850364695 338319551 582389512 842142427 214148463 296246943 616247343 238407310 376518246 463545386 388624133 580582341 475088310 701503581 865318913 247084482 780950854 639704190 810081035 804343199 450962488 813394898 216996635 665246068 279419054 860384915 369239431 222903515 572784986 785573352 604511639 221953086 213922482 987112543 496109659 791784635 652909089 236887354 802312781 143531291 507671993 541939952 836061806 873669155 945398366 365376094 572700157 835389709 554551086 644777400 819649830 717029992 387073568 558727327 743756565 883179570 977036830 473040633 173606071 855723260 696474161 373553860 141723112 105431270 329437732 127576010 635035450 572994681 548692071 124299575 317030556 978445440 954669126 851044831 212628361 353233635 817311449 310892044 142043464 865603183 333241034 368730198 704892110 503031008 653263632 654192599 829311564 342346689 328427485 135277931 383719883 404287416 125258206 803185630 179163752 831995798 531888998 692491726 186946676 811041920 565233247 689724411 788107438 682388835 139651621 620912990 540476424 755001364 794162125 861947449 179950285 941950991 413822423 487328587 720911692 770913203 436557921 906130697 123581484 858566423 985978715 855290370 186248877 323562462 173622880 314411112 655714119 191633006 726266962 470173553 994587506 679832282 272254652 579697636 740927956 141648164 369528037 981606219 852966278 955280751 474958787 702900669 729676254 594460889 805451564 789883350 958681128 907345220 134897130 111970732 258240709 758726991 214548057 199876901 291077166 620495771 672214084 375876522 665193713 489173723 609159840 333754303 823802612 113186521 331831017 515767592 252051349 329687311 791400127 894780252 593162451 119391687 836158987 267403274 236786537 967959166 635889466 742675530 508805743 144573890 424311016 231928046 461967004 122507557 492224064 477668873 749695205 378119171 714047562 428032163 163116453 611647495 970432422 869699755 739757045 378187877 746171513 897703313 707588829 546980445 524835038 735821426 515614044 491755429 545372798 254071350 407930012 562372702 895456116 480452355 853957422 961048515 117980849 135817076 980526064 921220473 802521099 383772253 758993700 755843906 190833001 183468427 558151012 876107268 289997334 740046273 253838462 633656055 798242970 686751647 176481949 318879093 416089371 585098078 495742457 543597009 315596914 829588762 774493770 477911354 676930161 872507736 605097414 389984747 896083717 588322051 103665180 313036050 528905238 691857489 622293208 246138130 415123257 449059565 641761644 403917683 600712306 381067977 622286023 926003406 952256394 567480647 649098443 450992248 592513062 824092262 506807572 307980105 430984279 678504357 397120559 202288412 767651577 539790630 371124262 193999613 479326354 203919050 867345147 358518003 628338142 571736839 181854391 281755937 750403186 998758464 333925254 534453866 626238832 933694094 917529926 258976885 551274003 308528171 746188446 801441000 261718421 663781465 564175040 255749482 935957750 243565045 681691230 530290550 793251501 630701558 996576513 302768584 153729309 829868514 916311768 363143447 415809591 861672789 949262475 987032749 530960672 591533420 598400334 307176944 693961747 997707469 434230701 171661592 602625048 928652258 600873349 483157041 644273786 978853293 644168152 378337407 896181250 338283189 104798735 950648876 262082832 355200445 839866156 735332650 240984803 577453649 284196090 741308692 439361255 250654369 247653518 361053860 372570869 754954581 710575713 642758903 619344827 854275204 699677862 260550663 402577749 549791994 230793671 479530323 482588581 521715294 629438195 463257202 258679741 324876318 380506558 664029497 233387384 956396165 411707566 324935463 991941569 650339384 283250305 475903598 678991129 161596713 263754235 599479814 320285282 712469895 287865051 350770538 279691760 575257054 755868200 918767038 152400262 987932034 451496722 820341456 364644619 215522762 634051588 454024311 270547860 450895010 298166320 610991966 834185254 924074647 389782474 221227008 877442945 220002086 617021908 658678346 289901650 928934060 101376241 458409838 616476653 596084741 485795624 616565251 724114187 772523630 632297804 263991789 219087307 547949659 216010540 533087214 256564799 524573062 782232464 938092952 823146033 762740961 993859515 717897901 154983192 830610566 856065831 135204148 810106618 321891405 267711923 336199568 154862576 209737379 349379719 919123908 635808111 806112325 536190040 728748442 339505441 346323900 730318544 641254375 605677854 103687648 488696119 340246334 563951062 737894752 153131750 144760656 986356131 123366585 188664009 171787829 653844057 531398181 537003722 547272730 477048395 959576356 309674789 411158008 179410212 113635313 314211111 114439034 717699699 586346149 161107662 491296900 963639941 634253997 763832473 755821613 834490277 816063527 717772112 600889005 585310151 786937144 717029893 603258076 648847944 569984407 895674144 770873627 153297729 712308337 340489840 725023731 991131967 562125382 280852728 733591597 148516750 543024982 683560312 503866148 338804675 976400026 321441150 620383058 338326995 905367995 839341844 454754027 739849066 436349748 720058201 155991556 922715078 878859773 892449542 713489128 345023937 309258135 584633331 604896962 321902047 635485739 743338624 485552100 210872747 420826378 131953485 708805212 651160035 610926660 854691371 232917151 773017265 653929770 158399107 327401195 958188053 568059308 167173486 348526854 555249621 928966254 287149376 882112218 235957123 762969650 150161170 918869523 973952332 819203366 992883795 708376249 346716421 790735599 137124585 618714505 949801951 630266072 552518266 497179270 914207038 626561018 819433080 130393488 454709270 387000648 751441806 853021504 463345937 430045586 552796802 812744656 918904900 612367305 889563904 531224207 747348863 593103916 250613823 344914435 497595502 631558727 412408201 305187751 609103815 736592979 388967385 258687856 986377068 459552769 652296569 546427307 209507816 410548775 734672709 576932891 877796937 554975681 485653609 676582391 837049289 803971914 563856830 295013597 370149900 182183435 955852697 706523177 358369019 190236946 242459133 479065965 457088038 396556260 796949247 928961253 830039973 109491535 978830269 726631669 684891265 110871546 669461489 597263006 268751220 700546719 772943353 976785003 351666661 666380360 921744970 612161069 474301323 401422112 700158848 475568664 927070259 746726178 738664322 361549740 143574343 122239324 159271506 744859172 883308753 952849465 389385018 535464060 229614716 254794886 315315533 257678434 927515544 986400523 485312150 598181962 859636360 479688747 488988027 150319114 639400458 601124346 251458073 597009301 635292956 424249537 265384744 970315795 122541646 130725415 711330180 237215143 851697445 307195506 348717282 890335051 597711212 404250451 741569015 893903491 159997561 318489541 298575401 869962082 380951408 202674741 169341979 618539106 225066132 929893953 523051783 313210176 139214613 984174872 751545488 417470838 495103288 988058397 427738437 864294700 330606071 775156256 226995434 577645938 703488323 875786474 588302688 665337916 628277857 382723922 354525456 709825183 577659454 477013705 716326053 993509716 296652763 967218455 374913384 730756535 273313755 443208686 567894697 509657096 695620252 803341132 578057080 614516145 322645676 665762997 842438228 484874138 345527463 238321353 732203691 860552930 840107422 795464470 950498197 394004527 641372507 637567429 238623024 798939771 296918119 110021943 120332101 857122716 525572092 839827404 698697911 201269247 781161603 960842241 868154347 387639111 246736093 587254159 498186972 621626610 262942152 150327157 205051314 464684766 483453316 309950187 645432520 231726783 313933600 488644342 789492784 636137625 787164502 135535664 688272902 353037384 971498981 202672751 394125728 336673075 848229213 802965838 160050236 971629910 643734007 991819819 846648233 944954021 718771500 514188867 980253983 572285498 333545301 304082397 282849009 494234679 607490894 709626361 619902156 184630990 262569627 250742500 775296306 701957570 211699774 236125160 642828745 449115346 883658863 172649946 892261352 648918570 847194934 351720519 982158560 240115403 293183116 902417357 887535065 741327531 176847418 507142900 696554894 697949890 686232957 582308743 915813311 400012445 833675344 680307150 590712212 869285041 618677918 149717322 768050663 599580317 530243047 170742016 591929868 905953482 311851354 709680055 118925901 452503870 794143627 889433346 334610236 295536365 907811137 758453514 815222465 148658478 526790330 232144364 845442499 126202453 562342682 795372857 873981391 630430251 580106377 830942113 872529941 600573744 881608343 484818676 236307809 647391369 908703763 262177907 482521323 793269255 293861236 193591351 671023638 611230050 284730235 323037462 475760399 391532837 124520920 341512058 736917180 774772983 262921332 129008537 335250593 245450644 868838365 986188734 299162728 950926423 752336658 775359078 757502927 835310131 861736694 459762225 937099864 287021020 968798553 626663166 956771014 931730721 348726571 534656968 406371609 629082110 645424279 473438611 716254155 722546828 429386762 418298756 573860725 245113097 431068316 320536735 685792299 837903170 890628500 584568607 549463666 438870920 657628927 215970150 363346491 612365041 305595560 482943177 178408431 331772999 937656896 816926945 209488926 441170772 562381657 152495332 187510702 937182128 747053476 493359765 433853979 264091563 784000558 138689149 346419455 439588251 353846532 835485799 190951659 162121838 856495316 784334248 373955309 808514709 935289361 947356679 380480411 485915548 769682808 446469021 510125856 513725608 490213399 480158477 832180019 205398566 273524423 298937470 975513545 153630916 444211676 573415996 491218637 918078907 338174287 758588505 761228390 256887574 117731246 362711941 126417231 384096659 888642871 463541973 381258557 189594570 674854344 424849699 577853797 413246612 308362644 944924722 279114148 956220840 529458599 810683758 759671797 846026205 630543036 129239702 914882936 376220131 110135880 903773591 291064313 965055382 262898272 162317413 771843977 335030653 156075784 434227964 249503490 121337891 662490396 846845218 704872826 811195083 527019226 827880668 992721169 633365939 518204083 160640725 852363341 445303335 523349644 558325962 873079810 357710652 624301691 727605980 314916656 832657394 519452330 921689149 625342341 174328065 519927978 429762541 428658099 983482761 279998663 880172826 214572156 517066823 342602172 217233518 907815758 386965528 722928154 849418976 696931898 455908698 948390525 535162920 503072397 646400816 838940990 587317386 222751586 728200010 139685107 829176558 524989377 132944667 747475161 216983174 714476474 861582720 540585039 562592382 195359534 112667953 527275744 401731386 801946790 291618720 345934189 373711779 383629800 372615768 145666893 295000531 224312928 685595146 290801491 426602587 618260547 729365592 440235973 888113182 451435021 334416832 215826055 451408757 238703319 518400832 481247385 631907115 585256980 913381577 379797036 227724362 616323768 833887205 636243552 397809082 965908047 667409583 872758743 760891897 426896024 926695850 944071057 907843128 674564860 865292584 270219313 600510959 443383965 925344613 963305410 159565487 990057915 281432674 206612204 883868549 460307312 924931197 681931705 614665844 674776887 815688288 977422717 690574151 717150595 336126731 414894320 134121513 400838088 131607071 190490822 490617336 579983970 269671262 966612276 140710631 832857445 896265995 359269634 869753361 879532290 272023858 448265058 956415014 540185799 446322964 580072253 383179787 579377431 971585509 668786592 396399350 330834591 743862977 204604037 511227540 701147131 961915647 320915084 337672026 162051445 151004414 647935195 154078952 756270234 206719071 202370829 606640789 376857024 213813936 926742413 429198247 120634911 334066878 864793372 961749154 368698415 662785331 746685668 310487856 487635199 905974827 714131035 148634866 396088676 395870499 542467703 443563854 607602887 999681305 938193120 659606027 921048284 944784183 352832896 934576706 331079632 284425493 681172755 929852853 680021339 954714918 616854568 595241947 821187472 383992410 450344221 642657630 186317893 167372159 219610221 281042471 625288709 405272633 714877516 151683033 761542122 979144148 214581638 975619150 380731551 822377146 929313811 255416161 358526694 119872433 486557204 194821331 203685556 817511668 233590238 701158693 669026109 157400093 701123798 279556809 927699207 565673725 798434841 886635922 284547748 508923059 784877412 230377673 408365135 117702059 641376660 690871806 756555554 576744677 849732677 502720352 512121710 699242641 546568814 709014866 606017740 817812706 503414985 157875798 961086736 481962751 680187587 412569743 320502611 238639333 177313165 900797377 554107181 257740443 316961953 624666972 166905833 911420073 181401432 509637901 307248952 587597478 534939478 529249089 992615440 650147864 370191723 750472132 430158858 979698077 326339613 931867817 812531643 904376896 285532281 821621367 512466376 923524215 824095559 675101469 267211959 349145769 413617175 834288057 627218695 242138018 999490223 108335175 203339147 689655415 378485500 449757136 428548526 525984915 804354072 247908459 106428943 999168262 758797916 468748121 565361478 149395313 206618292 359624747 110630131 746984903 294206246 583890355 617013723 518633837 175935180 474713703 845281315 602966636 516584395 795012945 279601324 157059867 127759702 277476233 442052185 161687528 548519917 255681911 149165674 228233248 828789998 384665409 435889219 829068908 461119355 685322927 667344275 190428921 766857021 408990380 207133119 364081272 635582390 351073768 341169058 670951224 340910484 954060428 898377314 383863801 441554464 926085264 639493980 900763251 120088931 772592163 544893974 716083101 928187717 437599680 447763110 680689308 629178854 944913042 190711498 898141474 975045786 420819906 777465151 836184378 702749981 147989140 543709444 897871530 971295950 755943166 753494496 968781616 340700463 995594505 927220479 682491829 378056522 113934286 325697799 516698507 391996692 673784793 162056106 109202933 753932917 878374271 931046779 990395338 955993085 119718586 137638074 587094158 274282720 339965502 533068008 920380725 477350826 514054314 436053897 799753507 346641979 440269018 551373328 248233180 163698828 289699233 622951314 188029781 736984039 495004255 418558935 682576206 834873424 362394802 984459264 443335094 114303303 762119227 517561241 212581167 804019588 816083704 660282733 971069149 694812771 558849279 619926823 240360161 213330420 116866703 949226698 742212287 770095255 741620595 865120512 535991590 377189950 461607559 735949830 190058265 774353551 756093088 226043592 620687357 430859703 828536401 979292643 204314526 492352753 140430702 583376612 469966860 469116545 851778807 641581230 642910415 964625037 893800577 616822176 870973802 218105029 696777513 729420122 218147091 826032838 810487056 225392573 512028419 578414337 348872811 487868252 284563128 832736219 925703260 730006172 543577544 462539642 920769589 126952951 529141886 869136826 793911575 290075247 334134772 508353465 487182763 466275070 461120690 875804544 504326401 637094190 994022716 250104789 277624683 902604791 504018532 403477999 336235935 419626040 593086280 679957024 418948730 960231969 653725443 211558129 909958871 806521034 507383324 332026350 257464991 960413990 984690544 865388857 850355441 711410926 147487233 204555234 635564744 899531832 984020408 586720410 689660139 362804234 571909446 566787248 608478273 329935319 254869024 949156511 706496757 877299981 745786371 299217976 995884229 420467306 695941053 270126918 249830633 653499710 409834296 279617675 627628933 533187622 357080278 332195614 999352338 208213926 313580956 440714570 197678433 214565061 580098035 733750209 984404220 280052603 820516699 229687606 839342137 316434586 974780939 394239720 642359212 412002546 621643258 819740009 108925393 297682540 392413792 328577210 566392127 319608182 325736856 437007573 604645952 512573250 315214093 745378165 339565922 191481726 853210603 557225163 117787160 489484073 524939202 307002539 791554973 139506320 931983386 648502615 290817364 995869405 654635856 722947859 623730369 767534911 684167481 598531833 489740226 285012031 852722051 208503889 961859262 532610327 410036409 935427532 345901315 812317773 611043050 830293423 956907675 934513897 880748147 313097365 830224879 458597484 663528142 964795909 748630648 631673705 793802912 675349172 324743826 558462555 468085666 645036395 336876460 677453620 450814400 984756617 940425252 420878832 322876219 244699193 144266803 928312628 585252230 182918415 864637850 391346654 636490985 238739203 739993804 422007737 297833078 589688273 675563891 286754497 831990956 425305155 904510753 358977505 794500241 249574441 356879791 315188733 848847262 534131017 942419447 238715754 473168413 201065769 586538940 932049385 741300072 136300289 587797280 162230103 929790949 259651963 728475387 790254035 857046949 757931420 685483848 784324856 606941576 790699182 775792697 115166840 380361621 313514774 323969004 982035765 912506500 517626894 153532743 879366483 396012817 225449598 231841156 694007146 128215306 973178642 362484638 411343320 134544602 674827055 346289022 374585707 290572385 691372474 385147494 526580482 100887023 384654612 867794313 497739618 482945031 783512312 954413357 973079345 273368699 805292767 831140443 686674811 554786811 524363363 898118899 368560779 556349757 346726789 376452080 422109682 658514714 795292457 710386754 412639263 752312850 212329135 549520264 448096355 218638266 602078956 759020067 346750631 362996741 209003545 508759411 498126001 908810903 687121998 349602814 467683706 729502024 483583664 546251486 476707066 122031251 919723316 565285501 707131528 737775099 610553865 151698404 515224239 509969412 814295575 474713378 184492808 792643751 170872283 804373568 528404181 663548587 491673797 725675248 212111241 829172464 162267129 764443686 569660724 401041136 730193560 779954043 148117010 560581180 544875726 293409188 590168049 544250832 130730796 383640185 665266470 970698860 838691226 309437623 114981777 424802028 995626320 161993864 137878436 117155528 614515571 543447873 333015381 498952334 314634175 891053699 621775648 955329661 239352293 677703769 594842128 810448834 778529927 570179962 645075827 106515716 259700443 106309319 519258585 105257886 490156270 526872766 104645354 549039619 577670426 958807920 875117034 124214457 999699010 236267177 793802558 499491733 129327701 807195147 947294157 420814008 954628881 560180088 266464718 308980092 221908629 197198105 425440157 509613198 829085700 657465649 906797188 784589643 138012342 713616593 995936664 299119128 428344626 907506571 329439620 558994002 793636654 867973798 675347929 332763378 789227021 477973753 918570976 712646571 665195410 521625620 332675321 210590987 903117662 600381513 656832907 239954577 984451580 417505615 968946761 887520420 158112999 759811612 329809825 506369001 874141468 475595233 190903080 343844385 930970206 552572703 919533472 658834005 735245991 821356454 398421159 847124104 171146087 810048981 727111131 128186922 994506380 634324332 290461144 965657150 489399900 192636667 386172068 209159730 584536314 881135929 904415980 535017778 348026805 166938475 739106457 354527585 256364500 790068934 588401656 365004043 999044535 425978245 707612318 846036787 239775869 798072586 436204373 510388917 516380459 279700422 327578750 697818728 734929867 666920766 342115900 632211928 796443776 783903119 358764942 764682832 161946847 383768491 132160869 581717047 295638526 465514575 385944260 738913119 504169499 871690773 766177103 222515069 767135916 851852572 873125749 325814027 513021816 901723036 134157828 566137061 469569110 881746775 473904110 966881408 152290942 434904203 433773270 586103081 350601205 789242458 631255578 920149432 861344366 597119865 643473480 540361194 311956449 516165075 167552586 153968374 288618682 804023276 426083929 724903593 743972564 126500739 233371044 803477314 835058506 353902290 146750083 492820805 942465789 589242280 644524577 221788355 422509712 622502380 639793075 389796223 826268526 291819639 473199918 531653937 605189729 559112141 660982591 466989982 973335999 299656119 876086256 171228868 313804473 785857566 827924211 763124485 575329830 635137705 395193624 473125769 412218447 273964813 139567640 208611416 221763864 761744992 377078230 975702789 163568741 516868740 852143120 236344614 683174007 750886564 971583253 878395407 781090776 255276010 969591927 560361684 119800282 594253353 903584541 250623878 146551465 920900069 756111172 306173011 936861783 911890603 876715699 532043635 917355767 148196725 556796902 965451497 677943911 891388711 980087175 488813844 161774429 338769777 613802781 301298552 582306507 235430986 245250687 274110871 836757028 464727866 132500068 594954288 428698874 660266387 581684768 461690487 913696830 810211763 284528941 825565223 621048911 117374362 329943539 361700164 510802914 553297122 239634505 702748138 875853067 746452272 113394430 583006126 386248621 732580974 680603622 443337004 508176919 932187533 986654417 886492896 310085830 966010188 119760994 142895737 854393097 479047002 141591700 374671709 595837086 530626916 836960865 865059832 422718807 809208300 100102768 885163388 309727630 843402398 122762966 679031907 627367094 664305253 362240600 218043982 820671580 516001913 173283912 194859286 152827063 584391378 300721503 274612165 830252837 512062330 289424419 691041278 250861480 760418969 576998456 515856432 541984828 516777515 993036653 262760921 978599144 792427336 573858068 760066786 652105842 579426000 119909738 596179984 499592059 720212862 751826655 673667115 945576498 679668746 293962809 475059785 790895398 253946495 759321588 419503535 524535966 913651889 961418152 478827554 916767155 822763648 592089116 317213308 824533723 313522726 449486420 381681218 636637168 365561276 669570957 515542822 694318660 925322445 286950634 129173785 865625035 907461709 287264707 818364462 730933869 133460609 473888403 503404994 643467645 940075939 178916445 894960847 114023774 240334753 402241245 866125934 471144916 307383874 610202912 513194928 934233293 840120695 221781359 427260980 403339903 948637007 151493093 557533222 316688986 206143418 314402941 989004380 402662923 669311717 115812860 213978327 535921804 576220614 277568286 835117265 548037730 998473901 942553247 104735073 286690354 741016792 692611083 548588084 424081049 156311369 195847567 636114984 633153068 563991391 503010098 661209132 375387505 276830343 992482829 901515520 702050752 942285280 307627828 448223131 985779353 938133994 999023080 515123412 285586554 799422910 809430204 353417935 699949384 835518685 530119393 538957245 258224141 349220382 965614972 571242569 531443837 289440809 786248833 371865045 978750553 187396926 583094669 192656049 183143313 417676575 370345861 452200907 562940881 481555885 976246973 725180504 178345762 919591186 252844360 759795880 422940766 587161987 338809691 471262026 809537148 537140783 836505629 665216490 216009631 362935531 692631325 171758484 250115857 646282552 320297897 101411828 663638607 420001849 464928027 316055165 997929392 995367461 135235102 516856178 384966998 857482571 946065749 901412650 575309661 147699198 750415745 612983698 796891978 481037971 576065075 825859559 897824704 742079285 958844692 707868314 346306615 468914183 592764904 539408495 529854812 288709145 466270776 520459283 963292434 204712054 309579284 116707657 467649860 812168750 103236817 356007875 711736875 864018334 965965663 867475276 768901062 898477574 805983961 361205349 493384316 557637402 347964254 358001221 287414942 736247235 403783280 601129159 413810260 468641429 571472773 437375907 189105546 224057112 491863110 231721842 804156482 333251274 581524414 424865241 277247530 587089078 214530790 219173273 308329540 936258839 939608973 362085084 868227094 312060440 948980097 887419493 359004843 671009504 806650977 794513422 373329521 222157879 529453757 466383838 322579404 557962188 785054565 119832020 721986445 931557110 505428295 965789071 285738995 995683630 879856430 368173251 926212926 551308217 128079536 736275082 127296450 291122194 137336406 680723826 817306384 850915036 659090047 144329771 517753363 455659911 972557179 469092810 630621078 214016265 906526523 424292188 110345360 176037259 785890529 151588172 735741132 453238607 525662878 962130933 623106479 683547012 874276391 601435622 218788278 229108491 731739574 372777026 926766155 561945858 541068542 842697802 148789549 187449927 465189955 598272495 600884037 296944996 993768408 369460309 851086897 556369509 767592113 272822731 376866282 960532688 892690747 205391657 251866436 340939767 167035996 777896176 282596479 188976501 361816528 765947405 720242648 156188379 933497316 666841829 128658250 766984984 410083424 969895067 179485070 894807472 931946307 585799305 221412663 432962527 398552687 602763780 205514678 123128029 704268257 798533616 123602397 530602225 855936071 856342172 966826285 530113160 296654843 151164450 855710855 931144553 580799059 897549525 621086646 431500741 368825822 487121809 460471688 826256173 506513346 725128577 464905507 777488224 348237064 956084960 777215366 567109026 783819124 944732905 632347315 207499472 685936829 383798946 185102236 898361706 771143524 409832870 145115084 645748240 944131415 880274670 712204878 327044890 768285542 950006105 423194409 317713783 738839096 183535092 535208949 271123213 952636438 898303784 417579226 447017836 223135569 529788190 567000098 441730400 876609123 230971631 737912139 714774674 180534551 670695003 139307339 114264861 235344889 810338711 535680824 961527825 900710498 940158736 266292773 463675973 517850172 939391248 119089020 488842296 359489891 964837648 896617674 961867072 154794052 402122429 946947392 874281693 133576486 934902248 511257968 534001782 810111897 522036907 337036799 948054598 694147018 190735096 706364546 790544475 463904922 266602992 162710260 345940190 326758732 447298004 897162883 494060485 548297111 278357505 161064993 188446101 704828771 266775812 835169524 139534149 508354425 345807041 650511293 300492828 587012109 859003663 263174614 284211720 231275784 230408972 811392827 655669864 753117115 839270093 759656938 236173379 808218167 212753630 438221870 794792099 748614409 978434697 376401429 614012619 172225433 932588925 681184254 984949026 897189832 931659179 251154450 544708826 134826822 440143911 716122690 577083465 596242691 527742147 185767043 422287166 823742152 958405703 705543361 499055046 922682483 233041835 629299434 146556544 944985935 119970971 122904693 243571838 413371755 896369764 735802915 344262001 951649184 396057423 985911571 408603442 264821645 158239018 555910833 949957127 883317012 435152899 434087702 714656407 885465776 393144037 629145434 154990271 455368982 945732633 396177859 906026631 584400632 462174645 470153550 405164481 716421653 792805591 401957794 917338568 384528179 699696269 717302405 614155041 154872882 821962890 669176471 484300729 492637038 198003314 962837810 666156156 277357440 186348649 998254600 863210302 776696473 276047508 857949637 550557686 248083176 501538857 702432230 956033631 455988964 913226017 126164387 874427882 797019316 185152579 388191631 803649404 114998034 767525533 711315904 464735416 667920275 654973376 854303899 128202079 290913031 254279204 842505310 139359404 203919596 105651781 612735575 895216938 785401967 192012664 537573321 177848458 928059166 289573707 157501217 507922603 614869989 508735015 239839624 313572212 359371267 446170202 188151494 878765135 291607043 513526993 588021704 270428897 764651232 769852929 372573400 529019316 356654414 868390533 486501989 892327713 482375872 246156925 165453314 581916856 323222476 349565442 298032001 705732061 589812267 351002955 666630601 869264415 490093283 651229531 668160774 497851884 903706847 496341912 465261984 352659240 468570633 931480071 926461070 297555691 496435642 394838920 569471931 374492552 478248883 357165238 673059574 734591346 209697451 615536766 395327332 197353210 766763339 220299011 495749870 632143442 668885817 825520684 781007774 189616524 156787524 198829364 235078359 561198982 456284104 101689899 739699510 151409123 839906417 286821185 812868819 711643375 338209840 810734450 909619146 416370325 912754467 211912837 233555822 734626101 775159438 873951969 615044554 456683904 701879691 204543740 904592217 355131530 741899724 688160552 415142869 354663899 423875469 791400841 921810744 268162204 857841050 741673051 935712408 371167488 765502135 366502094 870877073 285540086 456916593 623509687 748140642 504297647 514615139 708390578 410451133 416718611 969484059 902465628 909644475 433412214 953309948 147588702 222597241 557822464 909375076 981298810 344720323 743049775 316082878 471903158 526372856 224779954 849544270 502805101 453852719 233012340 454042448 935657349 440917558 965739559 455183846 854431932 183265310 110839239 335357275 889857083 488490485 468398854 462315983 693642287 416273548 674436742 752544634 232139204 169942540 496090749 510908249 880836089 206504196 343025087 304669688 113745567 161562759 817147049 873883279 986088024 987750658 696207802 558431734 734336405 791020758 614520716 199054151 425110050 140518515 783165370 224863524 160039011 954541407 576087219 299021915 701732916 985163699 608696522 943875713 854581395 984508439 785002392 306792961 722064640 627311203 205726427 630947789 164542746 726933480 139763616 978471777 387433417 143641617 740595341 294398734 551270052 773709696 944075603 762489133 161242763 537663056 304982921 740308960 277774646 418004267 262795328 503302021 424311578 903954861 556085199 216210732 793002481 266718240 122263393 730424193 496872103 737811594 405263120 801711172 390570948 932768839 181020205 337422234 446560131 167932290 562001946 287072161 125984635 594259224 952513201 377131111 924437370 982887404 480695678 546708722 663177327 728764553 370170554 792218999 440493628 394351341 980287447 680028968 311794858 591724218 482350625 112559590 513635150 607261141 785061110 548808396 928687446 582846936 927863041 161005586 132897240 731526143 470932035 371732705 435388420 743429838 117276802 966769587 378074033 607172726 133811542 334717022 348087717 480925647 745520349 994356527 951108154 193805004 782146124 534873417 160276848 820221456 412042258 479843492 372014226 311658233 621780183 974971886 174501661 200793663 383853059 569730591 396759870 688733483 961986364 764449114 363688708 735181311 698573892 552534715 604375789 800464605 309709126 502246511 770969269 554023288 577359822 387257357 599817198 539728534 492832425 510629096 557138558 931867742 231959029 434500186 193754000 580819469 922433846 468023955 606852874 295370380 232743781 779566205 488579775 863176328 953264497 687644345 531240725 188253700 968848195 281128526 243485272 366171746 448055697 379578185 378612792 452059367 922248853 714855534 155550721 735731095 833463978 464108215 554936720 534994348 508411030 897426084 621538596 472772025 111191890 128476629 135270791 504303234 705764364 295425551 546934135 752818567 189909609 436048341 900142587 951437880 806870388 238182456 201295024 158063930 140628797 347035440 599975868 960540749 972636262 864073085 244516963 216050153 809100714 669552496 805989112 574036649 295649534 164997624 755550975 511113225 186964835 158601560 511633321 250608489 969257941 871950984 681721457 519324159 762931235 946455488 995673796 209217016 297839616 212166419 585769709 361136822 637061791 577569784 113861012 345278832 214242574 373289891 926778972 169524626 940444906 199294503 768655594 698534341 553457057 684737382 494967525 295457601 751293892 284171414 402441284 388799529 293067755 716714067 236954759 272607053 958493331 969535827 307683227 483353469 347156143 734811247 452383064 792078403 856545371 743166920 866946403 516362440 850089713 660891486 175937029 165244928 869005525 520118385 951200332 191895459 359929161 311772575 635458330 674851147 553115466 541950396 942361875 217020869 442105137 849421253 649599663 449298242 697316756 240695580 498409394 644011859 496069891 711368183 594696847 699538384 757518432 803929395 456911571 599416145 438578653 233389522 956530908 686663594 141602540 756445401 270400770 826822989 832195868 927839323 486144956 131852269 746121145 561578230 365792814 562314279 332292530 648130046 429743890 446519705 648666322 974020045 140344579 390012575 117600441 538522808 733612261 740534161 990833801 946679779 650118728 865923599 726758805 896493762 932339150 345179060 792269093 840951389 312786177 382488941 346137532 112489881 253205157 275727489 639380632 143344670 549891500 393678003 941536077 214313120 960145916 559640903 456556494 695904311 397267543 523478705 745382351 131523187 745932384 839632830 702821333 316305844 905449015 828070007 902400730 817112436 428710637 640235556 358055108 678578023 861149007 832435414 281543563 846272544 561137131 607127785 351947219 814084211 708255171 170003584 197865745 326008541 689224403 634703654 558421758 797908759 678031504 453773179 213399626 110373012 421039658 859975033 966321966 937264764 165994563 100464264 324887843 280167511 911393850 206655952 800187569 395947719 462717508 561820719 989500360 405899860 191696592 643481392 646004912 519699327 149774416 582228273 602751524 404463279 942950463 364292937 572163716 873144293 157930574 122544850 416928647 115691775 246442125 491073839 229870911 582158097 472003607 720217041 969978223 505228609 304677120 415729544 603950279 438325660 675448524 306850095 677883758 541439265 286609584 839855677 140862826 724869655 925394952 383518693 845609651 342469291 703564691 125589884 153603216 579919491 955273603 892495448 774082369 878984058 795849738 816008438 555765272 602575180 905376793 898148602 352909089 117323329 417513127 356770293 621876327 259745264 713314748 112732391 556615288 634350982 626843278 962021990 450309302 992755306 990523927 500678621 726015742 634154050 389272321 170106800 554811110 305290234 925308872 886420725 336676059 546663764 565496566 349998995 281967678 931694510 733534790 356719534 690634424 873985993 807779251 719176843 513639610 614111780 996527167 258738891 950695846 373852925 549591186 154235941 780305618 637787649 267616068 522169618 997204713 621967566 325173040 776389392 458675020 253520995 910808676 403141801 882793480 790280310 435851007 914911252 882682420 320985567 182254117 937845554 105901684 255849396 362658792 401055658 494629407 942672727 985132882 157247391 992757174 571942418 800479063 186689819 655925278 191100221 779963128 369983375 272836383 498931687 725333820 618517888 714821070 481339576 806900829 991326382 530783976 725061248 512998140 427531725 155871516 908783804 294660309 122554126 443746148 410792529 824917856 447566059 647923846 524410924 702494614 186211410 413587019 766127193 142386056 421391497 168271757 357149666 716181373 762049910 149162006 987025930 410215671 519912335 762114392 642960755 322544385 947290112 330249262 726373729 390322494 304241126 189966631 266132660 429576687 424150041 567879892 363837445 893068003 526969422 162826488 219700462 345304375 218749932 452533260 998392426 583966964 656108680 495182518 430299451 318634610 937989809 401275556 219655344 492199798 869128944 936285954 490838289 859256720 938041821 825264536 316868316 112775759 512059749 744074239 222441861 292698959 112079013 489906585 440439906 301523028 896039114 367320032 585820163 196171832 495251536 234832292 165603800 182337609 836744745 689234146 192151368 671605316 456025150 464669196 331304327 292288110 986485319 412214509 696350750 957141717 477330024 176764072 753847254 989712370 142775233 687944594 254345618 312812306 769415406 377776730 475560524 626143724 909159955 542265078 580275823 120818042 506744542 777007878 562419856 534367289 610622167 102752844 653741690 650935884 357890348 641899381 510534459 676782196 232069583 367362110 483404801 536010208 798710477 849445984 827676268 414212230 354271942 842220019 903950532 760522876 490836057 283001608 484627478 232673876 907699143 143339524 565522027 581866373 763170997 957964268 349170857 748342171 640382894 294747852 730740984 754839117 745961647 928333634 648927761 749923356 509595420 677935947 597968215 611938142 857581946 643397506 726267476 523965200 132592453 962595177 464661940 608273682 757484319 224770703 691258585 172945848 969816271 919067485 634316584 479850718 635669422 571680281 269158708 106164551 797560866 850162992 943387748 422140661 579943599 391652259 943308553 249107341 705810001 836580601 997958175 487987875 667023954 413573690 577682500 774850546 630611910 525054960 308671509 651731119 550867734 331061213 957890286 606950475 554090986 963880147 509060227 956492112 695755611 734357114 358798347 427328524 683515955 342618767 209962324 879390180 700916966 576361217 268747182 938726959 950157722 987698482 773073938 716132782 767258616 107281127 348741276 534018528 797525578 553427792 794116977 389205464 813727016 172356326 484406533 226960700 873770318 251969052 354707952 141565374 866944564 102986515 221103177 612468303 116771218 852838203 516452227 457901231 473768459 501046984 735038617 584807072 746400907 491262182 154089739 730994728 570450729 489415584 767045433 147611421 380293386 976705447 328247595 503501958 470967288 966799540 503888220 100558041 987314724 379078985 813409740 471623253 842597894 208487878 174608230 657733030 575657057 320597280 661178869 752130421 587554998 488878698 242230363 732546523 511426467 548418905 742026645 448998493 727791929 702454239 820412832 419949535 285324587 575624121 349769733 819209620 755226038 277758759 953002036 948636115 877229247 261159717 945339951 929552168 979009985 918090886 189625788 753766962 272451711 655740384 384550616 895629879 331682520 586994709 672778912 560472903 422690976 861849492 232892975 381152688 385191924 240917342 100933139 173465005 429146314 914748657 930372626 163318421 311880511 623287093 286301334 219349587 424785196 906704548 787675866 904383747 390370048 879264255 574398360 340373376 835184018 615743180 614892075 573683146 127292204 524446451 873066919 161814621 358229879 126493295 574774221 183356986 317788714 183819229 809085670 895690711 357825722 935972005 609025085 632124637 699901011 381851006 495839021 555326057 789577535 909266281 228898803 916478682 931056633 784852899 180709156 755517070 176391793 565952078 202780962 341520171 499132813 799487390 907953016 438191112 921217218 870879440 694951151 499451353 551513927 969955701 526888151 589954378 869720491 347960091 528003978 218897244 213436316 109900309 943321056 663408015 691656958 771325403 811066189 936250865 293254702 329826606 421057043 842316204 292300917 721469257 508763083 511340759 299636015 998358289 132949803 196531920 322614192 354463788 562371838 544850877 286811391 541146683 525844714 422716892 942688182 737880762 759403705 756822282 936170047 689060546 646768571 114339172 660442134 593674715 854511816 643853972 641578086 306586025 419633455 146470532 685463605 659720065 461749675 674836043 976482250 211193010 818604839 133804563 536750868 690353898 256233991 523228900 559261581 936928220 737816465 700632507 719606937 514728544 455536579 752805038 366037432 269315410 442141399 165211189 289310554 815211362 742364762 757244788 504927611 995837231 102332956 969794811 341528464 599944693 806398656 795594046 947452029 288886765 552847453 291294257 900974221 684110215 375752216 700812668 864125915 683161565 775689922 458974550 712322650 544637742 314600904 375404004 128494280 970455865 782343798 341396859 506642461 746889607 626975554 498803854 615320538 245275062 176823339 828865249 269631925 558404926 632418784 129719792 157576985 196132225 987878256 740157505 434099517 885564216 645970156 512651635 229414302 929741354 177980970 742148951 622049221 440803629 123294126 297173957 268282977 486480792 873335028 464755773 675356678 961912007 115959607 756349561 452076635 553845591 911665040 362809652 408261478 518159797 250667260 603492138 894225415 887692372 218931797 426739474 927096020 723313126 477128599 469487055 178313430 719800108 535639083 286361003 547245373 485975605 238781601 699599398 635913894 537068424 353353651 173550982 235659637 119167877 856591191 802086736 271784746 754636438 187387542 299364271 597844207 577338273 555027824 796754080 221844287 480464383 808181234 906974772 630139548 354259870 824357530 387604440 372883778 873159669 782394542 650106578 129527853 321552667 380156928 339121278 891497654 244812593 378628962 675890267 739083947 140704033 464486229 882713923 971417151 543806877 798017828 881969049 677647675 986340976 294578708 404745219 775289948 950609550 157365214 590978588 742948786 473670479 701300957 918588500 671804597 162946093 522388376 476680620 497979767 359284914 203000327 133895829 810631148 464661978 678544800 554095781 842390225 552539560 568361336 417792242 147389312 287062312 859140588 421175228 369259602 901494970 461083175 112529721 356209810 673142714 735200727 110298746 299083329 557303648 530469779 670312742 219015906 695488286 946409376 862651842 990349124 739347043 593216660 686705608 533873570 258024999 355346050 270850091 216791521 850169783 678351543 910432395 954844085 494704480 869569265 103089679 121160816 295567421 107277577 242080057 247329617 524821129 376698054 446305658 607055970 314206991 914703591 195130691 633660575 328818572 440218910 983141403 938721910 388159953 204363990 479128721 558360038 929896798 981564974 584080130 641505758 813014937 573031852 518499129 910426458 137445107 568153968 813241273 409204410 606360242 593274492 836420977 475086083 574886716 806366637 466422395 247450674 464424958 189801735 360565837 956086961 671599107 599962216 682052457 186136821 548923016 611956172 305717843 308611022 437566351 690765353 307359963 515258336 162513746 721892208 612216644 727983603 802051517 204038031 920687382 133992955 380174513 737047891 430773725 782826744 689955764 100677054 140448371 566362812 744123027 175028551 109961625 187015013 684900303 269963241 550430441 152853733 158463452 183742175 973551554 655210864 837781440 987788763 430553690 377375812 761124566 533299935 896525867 484908101 542838138 231826238 342491335 413947272 854907861 130944793 142082129 839185879 444066305 386452738 550899646 451560568 599596307 853662487 567197806 502893775 521460959 978715652 117418851 802946116 840161950 912675284 854265996 604644979 386870243 834815402 566322640 838693097 515785393 159498898 895055954 358941058 220213135 552371359 622446809 784961832 513556866 345673500 485101795 219071588 619737662 122736560 499993416 881733862 534656251 428982947 333117771 420679914 591412017 704119418 696145085 105985687 140468315 608525816 161097696 116077013 146918398 356228256 551363667 319646620 809766292 688386422 245738637 470554345 569268894 155237606 734713877 449381706 350314954 575531598 248828908 942587363 365313048 177050858 397479800 715475699 382130740 182310887 599484598 179069329 612804656 883582043 878506373 417530405 863712783 694795631 328079616 423283658 891649548 986690457 360342419 382384093 191480172 493080595 940965250 401901068 756181291 610263155 171029431 893411121 100014321 700885342 328413801 351812177 303330020 910816832 390134853 931191896 402026772 636683400 783015028 709510954 862962156 650538789 868989352 471831091 556293723 432527956 818105951 256913405 568787909 578664463 509886142 323114394 360968774 494604005 447638376 421722002 397476672 118187652 636234045 863254799 164688398 705479599 549638646 589257501 752284715 461373510 292231700 218460122 460440941 905654611 983526823 755743806 461581934 826701275 934987338 220056899 501155225 110188334 499750496 198197009 714524346 746659270 361625808 466233859 518002883 735134684 829476236 912083289 473891260 135864307 113772160 524789038 370931831 547879578 497799159 960275498 757411330 125872623 459224867 688846438 442371363 469413362 498568141 418122721 466278715 367540046 313455513 343581673 327210407 176436802 594490047 813173019 228599382 210427450 441735941 309757770 892005961 800356118 669818853 125856798 315512233 317270877 717404473 704778863 786746926 648135632 139804614 942161174 269807006 644822103 597264851 848236569 152759834 959539317 992456039 538652675 556035970 825816818 486741140 141433433 873173855 580784812 857452416 198333666 386491078 958140632 636943184 946611038 768399513 458205461 312860716 731632445 533013454 580562818 679216640 700571416 366936858 646781888 705764321 815915443 153250325 732101042 877593015 523199459 539818073 155700358 768643326 829390665 907022518 542810321 781551010 556301177 170995661 369137604 725742890 791543594 342039269 580346848 134645847 787551172 510838982 703732067 367528672 470050854 255600813 250985630 670309688 450783131 767197600 360578561 918121193 886238414 237713751 204722799 565460756 487952110 395997816 191742088 996117710 731967089 155885695 565728439 766491889 360504463 609344470 394981110 954624106 456844347 576763765 106358462 869321628 618513654 306110558 360615890 624277271 839049405 368006898 312103647 936857617 413971146 641839063 245717568 446450659 502401305 856350951 509619123 946868014 246154991 826683493 639188465 768948721 217970077 136409358 164923321 562627907 203333607 187571492 544017503 555427689 447324199 796729649 298297239 437788386 973934049 388323297 621719543 439938894 152096259 285666146 954848158 575852824 995129165 567593045 939192950 426878231 609261723 633611457 336403759 140106120 100139393 881807477 828080021 110654662 890030587 577686608 738860420 967010274 205083836 751275487 855068128 927804490 367414134 617920159 788307997 349164674 650655734 838860955 604586082 957273620 846698586 970752956 970631883 622316526 557686467 125033692 784876164 302606001 721638632 136500384 483315186 711605161 694297906 667558939 897900567 104656349 235709799 110930940 563907542 284568060 160625627 774561679 158227781 360827867 142369766 147178135 782597037 342408704 411143491 307819587 876444048 145251201 545014273 498870814 517074615 532831408 994616548 665024796 670580035 711509939 645059319 421605705 325788909 228187392 844776335 581829250 485464641 923780170 191254910 578916955 740014443 345402649 798237333 834388501 358537830 975336773 134070386 390087426 937050738 751027601 382221043 680686647 742179700 527840626 206075144 678920559 184751592 385095653 321785192 449052857 102981227 598371503 636238804 482150975 339760839 910898079 183313070 608544520 913827695 285625454 398340537 710217560 209479904 270804407 136157633 173421915 533529425 198672939 101161697 304373099 175269040 592698314 182721965 600127984 714807982 700331108 670951140 641921189 101700907 606822029 170392502 442040488 510935144 545491121 965612993 911223803 639217612 282198763 713197615 722089016 717403345 522678614 499922119 344092210 727445472 421569117 348074892 808884885 819174803 645007436 344701716 558558831 832363770 653381470 763736072 224879719 801443904 225547711 967678306 802342354 377241906 648603847 531895248 408111336 954524287 917493736 362370562 937660094 109215985 599694712 814050838 182740775 965376291 793112362 757818722 834293627 548886887 853123508 720882163 422952918 726358788 167192508 891987151 914460311 145450899 544368346 604440054 501235590 124172659 447417829 126576123 443793819 834445283 653048291 618628623 372758331 125718131 855510766 727762097 888446793 524028553 922633290 401613657 700107119 585617016 695567487 852872915 696365057 662254848 976284779 861154445 653750896 346334178 354563944 111554154 652093555 434301845 372022831 529835355 645899805 522321687 961673857 633224389 454845009 988454203 231948844 345958408 382553932 724748062 786684637 181235037 257180067 130562292 335638041 236734278 662586659 137318713 979026862 181953840 965703726 898974958 668194831 156833336 565168897 576432942 815814891 876048149 801015509 419753793 775900126 697339113 759736913 367095521 655309450 504621949 257631165 258751506 786194605 337094036 938324677 315500297 525761127 250580120 190905356 194799169 198484932 893043587 828722885 927601094 799959223 686833457 763885862 714383715 805915391 598076185 593767199 416182426 115857327 184634964 189292833 370235100 902695684 781948096 323444594 879771712 672698386 332547047 517029447 492093606 860811023 268010948 172614576 747257267 173702762 647813695 742274872 235613831 635333699 434444091 845497681 463190750 999619250 228681081 752423677 974719948 422728675 352836305 824351042 418628977 621565571 590569653 757743534 487601685 690107180 538392338 803893136 143957980 722853715 894496130 825450615 206930163 175383523 630799429 569662903 155734311 749926304 665182593 592442330 849880820 698499145 997534042 870607395 434451027 550677028 849890401 486746779 487284818 769273750 730351481 440705790 882624006 995244725 682143389 984091602 384684402 619926390 731244057 480066529 909515747 503284098 894012338 729768275 577977673 872862982 886751015 682502512 336450200 652134370 172801291 764061853 169931283 728966142 409806926 308232172 411253704 439999736 589284579 355964096 904909070 417896083 145932534 939254660 190152549 175531079 929656888 860455152 423076544 852577644 517274174 975768055 274172136 545657900 220848327 291772751 163163333 350393610 333537491 375723486 934119022 647465532 503344193 984893263 961917256 844221407 137572873 688672669 664992333 614832215 714096418 809304061 716954430 817171808 498724232 915372239 595487983 194643711 752372252 632948600 323631982 104647007 356156639 101385733 504442996 804358508 774195793 298799643 952997104 304233417 569188438 894522565 665621551 134703621 136109181 733751750 309257628 280915852 215426118 338622109 921060910 666027538 871981815 979675336 849851213 304421334 967138996 694141198 953657724 584797819 322470195 844668065 291809561 866044432 636217968 675429430 582043372 920001064 348460717 957511297 822651683 180363527 220111619 428423347 553588456 345044350 548060329 990916400 959051337 543537765 496444595 201513563 317298728 125003573 186568401 237925576 331833113 125730882 822295658 553097325 975848882 678357343 755264081 747053519 768881814 699565120 220442582 220553034 575209667 104856433 897203457 183191970 337520086 177146120 177529309 561297952 411388189 133020963 873830983 415478671 875676475 838589131 820816009 898452826 709173822 446901489 855589109 512195165 789545165 694209368 689704116 435510427 304792360 871708444 246906202 969562264 482891783 789073653 331134958 686194631 306344024 435461127 486340058 811005121 379405850 444780942 836389818 854114998 728239836 591642764 385383326 341117365 951525625 925160169 892026699 581139620 334785053 837433790 655393157 794503917 385237308 872780118 106518567 831665140 327905983 642788442 736683761 263605014 752566507 658469961 457143192 530326277 318752669 861303453 229365988 954643421 989587763 765454724 497677926 739529393 571299981 542495034 183509770 203047951 759878745 791368180 304400313 928855169 391805526 232212677 561488646 253071252 502580701 656498237 117724889 981727009 303454579 847533230 531483755 583487348 606076744 628736310 687745177 729274239 901650938 367586583 329388971 478427438 774152997 170273495 486369853 194914308 844786292 198172786 594492003 279540807 436922143 513472969 761926024 938613211 253260658 538247317 162769561 937422999 371418180 322768391 837224023 649612904 206267043 463018643 861576351 117525856 866720976 161340581 230386466 717206253 728562095 156373482 521663614 764918010 436170699 742297369 547984741 789655741 364899991 952031292 419339856 899465953 129561222 858626933 991802147 929458469 476569201 551677140 418911344 972060638 599323844 779536273 138260410 893283173 739901356 781907031 662440416 819765576 726418189 607595522 645669525 811875610 215694599 639196825 736957640 467987152 951931939 467122414 965713908 250873575 926359832 759171270 529724120 414833253 250374552 215373621 790428744 327612393 806600872 328739126 554018172 407311370 648681455 529878278 560625489 437508983 909149216 989337681 517305495 574046906 257281656 491121138 595736738 621911312 879745517 466674278 816168451 929654454 782266227 916987164 897682888 589382764 641646713 339009350 216012858 128916888 231562392 890916221 344738474 954094110 321148889 476336707 340007796 554883051 512812164 407373042 483233482 338682870 950430529 271368450 462284157 684258811 347128241 366543131 835068343 337305765 215582895 978855901 993093964 687037881 751436492 672261309 695283241 328561407 276138847 870635158 317706947 165242749 715201782 503255810 807182891 325790014 328129175 330040618 565821510 173970652 136867394 636484131 203783657 803329363 511985773 465078636 452974448 762843050 912254733 327944559 675166130 966928624 961459576 642626647 263305905 814004316 804198867 751295472 264018753 689224535 131924525 327479386 908706196 931013919 451763206 385071941 816337055 529456499 323119160 170547573 150279010 916849178 559830668 579100056 110986732 158397121 919194682 435611790 779585597 127183154 877138464 781459837 868739272 381342416 407340707 807435878 578887419 306410137 841681479 795855214 486520545 144104625 400789921 971944646 507165169 411710510 434180167 141358162 325765728 239888518 771009960 466102753 765168257 392571100 258295842 515873533 403008893 776282174 169517324 160404480 760704859 521857721 774393716 949519420 614300291 708852163 943018580 223672098 861974002 155150567 200154465 540883078 952371302 333747366 823217713 724576269 968169696 711208337 857584083 814144006 589326971 672965756 614321167 384652010 910493691 570296759 783785633 354401184 867009104 373836411 670271572 450797260 156943324 881002980 692275231 889563902 780684620 515129355 731937415 347715978 721900136 897274357 225690532 441441455 311765523 926751114 194079660 859042557 269532210 101433769 728936540 207556568 845470189 248389339 239028665 825373209 257347530 373914281 920901736 335753765 120845306 761451294 626163779 418410782 904515545 421373416 563842966 999014937 349253216 662453221 871751300 949423946 411379574 826262943 273415203 913758271 474688606 650034543 896022796 577164017 658348165 683438966 117524508 576979808 314982828 971444357 920386574 885184657 516922723 154070659 167282706 601191652 127535921 738136709 847695722 285965110 308405095 914043524 781514834 236367019 217832389 942416309 404580496 519459401 589018420 670686366 170200602 383503241 199079830 392890590 187408839 362007924 697632762 623438507 440908948 879728566 471670202 778637596 391132744 609204720 195450504 137048401 770797526 179667292 998184278 846463111 642525440 831524161 757337902 864747974 285782568 805201847 891763611 257674267 792640066 257848037 704965424 817202869 464691686 511708006 931897122 991887668 831770757 754818916 512527966 229054803 989053918 153316715 778507117 505187657 841567436 486353434 129841124 270009048 445181327 757295208 489341133 868366612 564163264 188047030 158788861 213025116 570901604 803198157 884013186 546864208 426217989 873898659 821162542 499729118 883764757 567856528 711552439 235272998 356282153 874087156 337288642 333026801 154466496 128901374 814503222 389475809 852080962 866063069 596501306 331509516 269999153 670236561 106001164 585949553 526262642 905108248 487704227 238923246 943760093 448408611 641423588 975693670 960522023 711988310 678765763 760046452 891892875 694963826 876878931 917328187 563837509 688172444 120779002 592241247 961009201 508447987 768592116 688684490 700642752 677940209 192341405 122865712 925309450 470338999 952047093 619548118 359380736 774815204 523786424 317199123 605508303 530924663 528200490 829285042 284122379 587537784 728488510 998189333 792172525 777983066 933511631 225296739 597657353 789005950 840984296 915355356 295941270 180829563 552224297 665018680 430907365 415525549 976920472 289560022 655949969 385447290 808808863 888460847 709821717 985364348 403347785 235292215 294980108 557804372 728901906 172619385 173274392 284878693 373208330 296620074 686038422 122081062 168613558 577438950 208800353 112009552 451495165 566035072 361616425 899817482 148588631 902824311 530709853 712141503 433671974 186992491 883315917 645884564 633179832 578907724 581271803 864811258 381830969 548626289 497764129 114453286 281526073 451843208 571529687 529660494 324299563 215185434 983629364 759827143 829699519 108434897 116561506 228448502 310014395 973101923 474950224 669158756 795036480 838723606 844739920 644056589 638038133 175522208 192531200 692058175 780367259 727644048 191756871 314047107 220065925 730403920 192002896 308726536 508041830 148853852 356125108 450662869 523660298 859105831 125896393 921681420 470384176 600450394 982120001 961797960 465551824 919498873 767965009 503467860 602833154 942579305 689790776 684999656 584569750 704071132 193450602 550541795 260544264 446105035 251332181 399039098 341031381 371476224 316376603 491222322 442793185 690393495 328861862 969301732 336898030 106882694 510892503 888128632 690047253 770119383 683309299 625838923 651253249 136890166 291940565 942020342 107008101 919013155 141920347 162029037 702732599 266006866 571399508 968845677 476725884 194303676 454341000 770288183 235139568 581290190 367055082 108346356 677778418 964651055 297941983 157888801 792034131 285598592 523568527 942036435 363657750 102264899 839839278 210102280 819267394 821791576 231854643 902333756 433778427 758900109 301300990 636036038 406138944 650172556 284607590 303842352 965120338 641030026 316393772 295680572 361089529 931196047 628074910 598921708 743382590 824874594 313038779 871400123 794721695 402754217 810910035 255192480 817117001 756707538 173272955 300389439 389006668 627792554 334594091 845014594 962842180 733476424 476249346 721559414 105976249 814245473 554107154 924439280 291917692 231990116 259593184 192011728 117502278 711580120 102794109 786411847 895919167 503695036 363433982 186430536 470879658 812705653 164537489 472859804 961389368 953892891 845866855 999993724 409932202 301091088 171067435 307657272 178878020 909878670 654311322 419993623 496293381 584990925 841762212 479047993 886707063 370862316 944552677 384580804 505413796 553040519 591187657 835995055 106050257 563656961 651869966 360403931 809828704 749128111 787956422 594931801 472429108 742164573 876356422 454804814 290409996 291366792 607055371 612707255 409778032 989343641 569991265 699867869 564774288 325762415 309144848 609048393 276395592 402983259 190501080 825517866 896357378 210307550 487176287 792530740 417334549 794443344 610063217 826713236 297963025 632640074 530033057 669727303 765267972 810556064 824916494 748164052 172939060 385314900 122307157 847003813 155738361 494130510 907235751 438218413 900433236 172433403 875084069 778750742 807834004 647557021 732814068 167750232 907676564 159835249 295834262 774065362 205177523 199084204 755180232 651275645 410356590 666835521 902222178 225167866 782106124 430828124 507744160 202007888 355597174 648164511 264292126 982185745 924737513 890972015 602840613 889222805 125345047 685449936 655514386 986105444 917413436 760384482 352081137 382503967 820252972 585900498 487702004 875296027 151203749 150470788 493284718 873415886 673904925 515639755 648419407 557567575 490737559 219107824 170052445 779410922 786673625 221157894 741783139 996397165 924397178 860520792 636114796 485238471 741498940 317860017 901243242 945746638 559826766 856832814 946385796 237199860 527408496 434102737 646262166 408371634 275142201 608209358 307633763 389863177 326734269 518369396 913441373 563536563 354134210 133357818 446019620 393139742 453164195 594467539 678580658 829195948 409526794 100320339 955172738 398126043 431506783 101868973 547515609 793566205 975387256 188837246 259169978 355971113 763147447 628485060 598945453 567574704 359597693 129392098 113277850 866640800 608507759 177503028 799259763 787306588 700531839 536594765 941022569 633708909 118043261 939976490 105095354 945898874 148748780 701562250 408860738 950325926 228342295 939000507 640890264 301854975 214106564 280313652 517011511 819591505 431654150 918798655 802213342 997286925 682662439 853253815 216263839 699002580 867506644 571839836 124940599 949181234 265849751 491604083 119127329 962487278 636676840 291506289 536608982 724687173 615857565 774565684 660606246 612989985 505158154 131220195 599318709 408690875 335210500 546799668 543969792 588862762 605266779 234055422 429170882 512856488 684151703 458861226 379126121 380306275 364832035 296598186 982905730 171904927 298700880 571453600 406279021 850645107 895996036 392722874 324845224 785273821 500636135 361212463 149437413 732228299 556714627 864861297 490174250 925392402 956408010 514943425 461756602 704892125 349014300 511562943 584496267 923995503 901768176 774206976 980439008 513479703 355973183 837038827 224484530 659512286 632281513 415049706 343666489 360892926 137145368 687501997 854460045 568221856 444406386 666562320 415100352 108213073 377884085 167737506 287576402 973217668 530521572 985959154 529217911 173697949 788321993 923412183 655998945 411832845 239992652 285051740 481510436 436877936 647337158 974814410 635103681 500013495 358736231 633820855 646344090 309413488 566738155 280178728 406678795 318344729 136473765 685283044 991176308 497364923 468763275 519434861 571376533 451659277 439745798 574897345 407679984 544078243 134274630 629850290 702007970 694574097 915587585 850952305 363802677 429990491 308739614 807335961 539243461 561342622 675058374 342836400 829431937 131676777 515936351 961967566 268507020 604258857 986109149 940676127 203932300 965567002 726796056 104916323 703886861 579449843 939282431 333012964 892267129 630898544 928912976 136036608 704132665 135576371 692361872 600584935 950681064 172149804 195908074 163084753 627955472 926993771 250520905 968216338 754394081 415278783 305585837 802233913 403777951 931253991 705896204 140477440 863814279 193006314 893627243 222912316 316046172 220594344 457080540 262598300 199756325 197643771 947611604 868677657 944934958 306253732 493723641 626063228 861135379 938621893 716475748 508912507 406458282 576045544 653970571 664354570 770686282 704538277 547558775 534203630 323204704 441917496 914635759 144976061 388358247 204502497 240712742 852245759 424859380 333861669 621170841 577334653 466145907 830105245 212178300 299455539 385127356 106971956 358778429 101523675 425670151 540287058 164030138 623889035 155781041 478884924 312673245 572104626 694608122 294553812 890861127 294704862 894586385 679304372 648611222 106990591 337121058 943803468 347572195 263775405 195879589 363615440 798941325 160939669 615105592 768533390 106051818 591394619 810600139 388866559 240510072 173137027 364086522 357337196 189965296 516318462 679533404 892357300 200925810 441761871 838607169 454828273 147412323 767991908 383767096 473665966 909859385 777118304 144208065 111601948 781163852 137873689 369233185 784999089 995378393 161644918 937792012 951854742 405575883 354487028 383253224 525513535 870841242 816475634 628913769 420043898 789481523 709930481 958238243 312850989 807387534 808725037 637703663 510882775 473830637 977814983 720650731 694728851 804977077 661940938 321106308 796814928 796268897 327522886 650396785 361815904 409818296 338776962 579051894 178917834 863853005 821529357 151269880 259561523 911895930 613006069 699015530 502543486 719557737 535006789 298002930 829983040 704664172 717304155 489308988 280324307 585944869 945239142 662291666 954347384 177844942 757990200 470982687 128972072 276838225 656011514 274527770 388260797 603166291 385951285 196757357 892245638 205586967 404474404 520051996 487544454 829546020 645761924 720366300 263271385 372508073 215298581 204633486 536246105 755897446 532337276 600606916 726918415 862289954 675232455 200750616 988252612 489144662 460729533 781002837 169161465 682918328 116085181 588378387 463799832 615489476 215260008 773145202 538078895 941482295 254066667 330296678 699579647 422641576 777415819 647706558 274801848 381610637 396759634 384633797 932645352 736954427 168856849 189590308 755946275 117154418 463332109 630813774 797010273 168110497 989557271 932799153 434123119 439670126 794009099 942544329 110940997 502690295 666470756 292004848 946298403 532917910 839356790 818516719 842048770 675600847 909897507 363985862 821266142 801598176 784064649 968166953 459301895 183727570 951001663 124278306 495818604 357955876 593123724 657499256 810770213 306318913 540602887 741708063 720145488 935447673 336943273 280312911 665938111 159758827 805209435 870974189 967582999 360226511 807409109 574958917 595700872 853137838 906657201 862728543 574312372 148789557 422468564 565064860 580886810 795018994 607557325 935021006 563962720 273414055 422327733 418409809 360071243 487031093 396659451 984991200 549667498 684450887 820021210 752797008 917141309 678125504 484863870 737524970 995971202 149761579 607761082 756031023 371284119 884251119 196098158 301979525 131234232 191296458 972685214 775767938 158733422 394112908 173507567 801388705 981010381 416062397 610923842 189659871 148322916 774676088 496602534 536865694 697453246 418247018 286560715 531466858 213553591 923170129 721881227 260909240 665685460 831285609 652480233 490690421 973276927 996110000 366675613 542478710 165318395 202296746 167134203 692379200 375806758 872747295 624733326 136181690 389766457 189694850 821132975 286196073 146249399 601553980 784858099 937812741 889898811 553051823 343482115 337933250 335655766 749212587 793726343 525390216 418683402 966239680 331383886 550608547 843191759 769748449 294766666 895748365 784552988 854924478 791099461 470345857 861897438 271714102 931891977 405647090 817867118 757866744 780143953 250248497 114770396 146904212 610291425 893553199 116934543 601032464 246464038 245687673 787761792 288012497 153714579 300970503 624367435 460940373 360029848 974035384 131093490 330513620 783206866 426312299 369531880 658444299 349346302 143131626 595328937 700393617 674536695 882466677 464174570 528587057 122635307 743487119 360286423 457635153 327626105 819918859 712304111 503839628 255826193 375382768 114963826 310578823 594090593 146469808 448239063 368106408 745335286 915007319 528810355 319683621 499153460 632257717 846535054 461350131 741144208 800510430 255692712 373163345 215575419 486553446 604828267 493841274 107005014 313817701 775412366 317775903 170720531 661609472 657679565 198965445 980597762 469031260 569875141 335450961 503877378 725996439 305357547 133759992 956452756 916812495 998014657 665134607 204180574 338591522 485897454 367336680 907102458 638440234 643784940 465363900 864614230 215530906 502946453 168540385 919586868 666581681 182617948 323839423 596626246 305665203 359110228 166095538 857662361 119789129 219859147 228114998 257567467 598828243 403481276 447600649 352405612 919734435 407740195 292493987 923918106 759949528 224690214 112785682 342553214 685128305 549412327 395074329 838421249 626617052 413851652 185852427 224529780 806537916 796671526 538727316 764722865 828141728 121667752 379471888 187662373 386865113 976641988 497639991 592277089 760698248 798705133 420174877 535865054 739200707 956227716 243479577 805211804 241624826 932138739 766536224 506403680 578346782 792285419 624821262 598380245 281475542 979701518 866419793 207172761 228844012 335329769 968716982 889639282 463014535 678599772 106572814 626587015 577631811 607748553 984504277 482164966 196445799 653073243 362997337 975026591 660706610 329022056 545965416 592795728 648266269 471839358 298031798 885295161 735689242 812709758 419670602 241500191 266405121 556369678 167149212 338296111 324983377 331005487 332015628 744825908 820137672 798548891 291120989 263140891 755124788 536645052 947515737 666362452 647712921 877396411 531317277 922884368 982285987 100614702 169550724 291889300 416873611 786205186 846445486 925340576 241225458 398107296 989270402 478956255 802366102 912759899 425614922 889955169 594703110 897266002 710234482 680973147 502995235 695301748 507948940 510681466 199673456 396913867 131058384 106293349 825638556 895000645 838365614 334801148 736976143 226666832 558772745 974284914 805261751 265993675 684996862 483463586 577774491 515970078 590133857 191521001 636874894 298397491 132909113 850507490 357699999 759905562 305674823 134266935 639103219 550931848 775100247 212128842 401651447 928367002 542772934 452008990 652942497 452070146 154207387 294394745 460901085 870887474 625905514 759174463 347334073 349501199 986945820 963442579 999941217 476436339 605665674 775055121 140412257 955087079 933055508 986189862 364455342 793973711 776878349 653670090 885694734 104592064 409421277 542794378 297495053 606506277 678164031 367687781 291412975 680193275 812301108 984611063 595156721 683638322 721402509 556843600 558907329 915397417 237958381 174560695 581936433 244664460 997292245 875458395 990630103 745444899 755570698 908850255 772619928 322273755 892083055 443303734 390390169 310160205 657690154 907880074 275273540 263450921 605968558 495315252 665716490 451273689 277428722 955873051 637970242 581139832 239415872 603378160 240657044 511667214 599445493 800223758 424739288 518579251 988318160 476422945 566005222 391998303 972992034 578235395 639996210 782237991 425614991 273904284 246483267 180840195 386711219 201115868 969243361 817747175 261840382 954194346 513017083 577306116 648225834 173846935 920695550 749688479 177447396 358615142 202970168 647718842 239857106 527993427 823222496 494327508 711603076 927350644 457964151 216986034 546258904 845662242 496716305 459350355 745093216 401044916 330725926 783660629 205104816 516254100 605330730 113148512 758056478 692182356 266075606 727680849 705806552 821340234 559146912 769430987 991091774 416411829 936693380 123774744 702327460 501428127 547424984 138165867 923686532 488090173 225001465 629928081 460530389 660235204 304475106 131889966 529055442 196096633 176843760 539086344 450746727 386679025 991002537 817403277 494300646 312742445 662158436 882041129 920977024 715046006 868752990 496073074 629250273 695662702 193417585 574033016 100291301 123051299 792201301 152365253 671769931 929412694 136203452 346846226 210478815 313620678 625576934 457435384 431753968 496547354 869927879 199216285 412109063 252709965 974743980 301745463 160435573 132039022 168022422 271271273 633029104 326468641 170147228 348222170 345059506 759431416 637198463 188370498 147522522 825596925 315854910 816453584 515628582 504015527 597071515 884069178 705085432 365292041 284923159 732401496 186032602 689290915 689305298 356357441 529694765 100484600 560743615 107485247 619269003 523365571 633768588 292747422 167845026 543613088 563611317 980610122 548204087 596728021 790814557 119826386 289428239 103971474 206088284 490726866 426790778 602429671 631029318 380906421 691715734 628014745 163873005 876542932 199521400 254012082 126192911 963063759 106110516 814890215 877233858 637566041 375299385 978546506 888357055 234226686 661259220 912014038 845179892 436933189 690232958 962498014 606416095 227261883 961005485 488877118 833706892 633431424 527826166 973346993 664535632 778382664 192313946 404259792 193575113 892141548 601328067 937136386 284726839 336825064 127282675 500971187 600138379 604880912 710186820 114758357 335723265 803092955 527938961 634131297 155094727 525729777 489707654 361777232 259831980 380089287 413451979 336134319 118219885 349641438 144329081 549958239 252405961 247293799 591423668 837285599 433757647 215182239 834303054 222379514 279413500 395231545 401623376 822964667 992319421 950240374 318924772 421936570 763112844 492508563 856828129 878082373 960537213 790696243 192427147 421079723 117809916 130024834 519794887 258419353 807533364 416228386 686746779 470307661 887362696 804171156 241360374 230075656 436966676 775643490 811070147 412384884 428471230 412990599 613344074 316368873 668312589 985207202 714289040 541778112 832891338 803626539 639694126 250771235 356033641 815280976 726700307 891104083 948901428 137151181 487606022 554920635 647381210 238426324 229527167 128866623 334219595 174217028 287838700 800627383 864209261 418127531 143144539 463694678 945422924 130725220 707841240 665760554 464219310 221332200 878933318 719732096 526933772 605606500 650370444 454669801 763286671 366212645 772533086 389127625 816314418 857117773 387039624 381858007 605209663 893829098 647303253 289101005 248771129 274318155 672866763 263382627 540606316 357844421 676760529 464080934 480109707 243766492 157353513 155223587 396583193 751770790 219062183 861117034 800450906 851968461 582543274 571361512 871492882 628739425 250650051 314433167 197760538 337832792 193815880 159209089 170630133 931218136 311694542 369924373 858097063 188424349 404465257 485242757 163347956 260154803 690590775 634565816 550617317 442772235 592090670 627936964 341621671 973108376 702531606 249085054 244231435 989832754 780146892 700946497 636348503 432304600 807505930 129484967 981339614 927897437 952138264 594354795 214981628 797083859 144689950 685429774 739916365 445080375 376660754 919703931 133285894 605893173 839738058 243184221 409103913 786595660 815114796 659111914 159599631 762769959 634653617 218492317 219440481 493749646 792249234 151344096 680454715 121840476 779171017 978110029 647026689 985740969 956835654 516346908 172755801 849202198 201454138 908834387 575350558 930034396 730341944 275315286 550068844 238713533 502301723 410933698 870971934 185920195 973004690 552011400 640311998 915117901 352105506 730847032 666780181 647774868 256152059 780452543 567187256 527635297 983276804 175913728 922699055 820628924 591465535 930952414 848454605 546724478 521332749 869571965 625999441 932747865 572804034 263709787 224806640 409079262 303964841 434776739 811341065 708325244 494420679 612788609 348037090 325895098 423548634 521114975 441315618 324665661 537904637 552877546 378216372 375785756 706961857 440904221 129092291 520349607 585220513 355270473 224004605 429628047 890976795 138194050 380846005 752069913 902173478 642549463 364691340 252630756 699063378 147847430 725242066 734379787 766527972 457774420 934445268 388365847 862089073 190043827 541738813 922213045 649906627 565791287 201648832 818905316 812014210 554438051 405281628 360501522 638311070 384044728 143106121 344860847 990243124 596298016 392244757 729927303 566110977 256145859 140716360 556683810 842468579 519291055 803133178 267014607 406512233 533682332 319606975 424677415 116656727 185094588 399451379 796694586 493799457 498726942 894100344 424068198 862674653 437964659 536162186 532906104 157915524 404498843 237675308 658365976 672417791 873379390 500794447 329080753 119186977 643902556 208729095 512984822 763245756 444594932 630629390 810024932 762063418 791146872 600594911 345946225 324001413 160191973 175730907 420163227 703582148 713448405 320411841 699310716 700610301 428343888 239946855 399884750 456398387 495599580 993542358 163373614 379094541 712929743 108456708 760257662 633912607 993378720 611275952 853187203 480827468 277625125 304352574 881749124 141803954 762289165 320148463 890231518 920929043 865995011 654643768 397976215 307907287 279684327 474213052 282301505 176924867 781655390 892570059 346310569 897774636 373914318 435052520 740097653 814916582 126665333 420904595 973427163 627093198 918463304 907517829 218705554 829348799 832646714 879332813 947451216 493264057 676517867 317538401 194211483 873511843 873592759 426216437 273379142 784464833 287064121 201338098 579662783 432613833 731139813 841496862 414103980 775348342 399808189 374141655 466782136 524947913 224570308 441597782 488862494 901881203 831089540 244529495 869404516 926148476 976780440 547628721 580671677 943025925 357876171 643251920 577653865 442029318 647675920 828294981 659406777 137348782 132070222 849482245 919585897 376694826 361915027 108094540 691891107 600439460 482690538 817346283 778195330 250010498 927339153 400136045 251563075 324905687 846850880 894525972 463967253 735739074 138957050 159362678 141730042 459950327 239263343 783967555 674104180 955822241 864096786 370704281 236056710 957676242 902432864 494372020 663611356 903793106 533239457 700992803 287106020 219181069 421615287 930426148 227452143 114847247 714971334 570394937 508060146 447368699 349781407 162216594 569310542 113771333 686172748 306024453 321223035 841064084 577634374 506333415 572617480 610907045 391903711 219746876 931037378 856762780 968011983 894804077 763550857 315010792 368775320 332073583 410965823 455879718 842724503 914352294 484043634 243224945 506639814 370961204 522855362 583377312 693387970 952676544 988625315 683447465 485525135 987249705 940658888 877917986 837576372 299318414 156233802 332386715 425649783 313122491 208078842 314298398 656606480 868792996 565480085 923446082 253239528 822420871 233950241 894933103 864286066 106361148 316615993 251102514 267122667 149519404 509483167 136422100 245926500 677875178 668136718 669070650 194364241 899505725 722698391 157921809 858836152 547837357 482868530 270862621 506585900 838191613 366985925 603835157 699891147 792047794 279857509 354904205 981579534 942747811 652547235 950556521 291497887 398205120 151087773 304750132 440828828 777905216 576796242 492081085 568226822 903690499 527799690 697971290 301471389 217618654 820406085 554762714 560476352 968589558 985804362 936228545 440220711 814697917 870353933 423487324 203843810 891595536 873872379 465061455 704848247 648439725 937699029 714574648 535405478 881021159 189760910 943010675 277257480 327951160 123596355 462350842 854008327 375742593 482054074 851532314 398182457 525721753 155016860 849144858 563036591 696027539 522761408 999464627 352016427 762617028 750233878 644304362 692304585 413989532 872585491 512634915 794128609 910265191 957079067 389716479 862339724 863132459 773843913 226079651 545718692 401042639 303947579 913175148 476960142 672266530 560005887 122924120 880408146 551110553 327711333 923037945 586454315 291408093 883799554 885720831 339451485 576714886 818924362 261074476 532834865 394495641 872610580 518432180 759665575 457959954 572662575 643642369 365162390 537425542 152862537 343871083 802157544 857422096 643041043 299114937 217161239 165623657 126631322 319282693 222134916 471130646 824808522 483548189 176532423 597461656 707060943 563767279 984700176 455614733 437653318 430659615 109746599 952841696 161806531 173400636 664391542 820975997 147555991 215074575 155343255 691464228 504920461 678693004 439175780 815144534 288235750 852893470 520603703 302616233 795547630 360155105 896373544 459852780 334224521 347450847 675695735 524934850 480392460 442907867 797732954 398487172 338637868 843001914 785639139 714354907 309374620 882928463 740680649 584508548 400551339 353075579 479572054 322439284 550400760 339602606 343616247 689474529 675699307 370465434 448021869 747070454 801369932 323492119 558376062 587173412 644053082 389121660 801409710 496745553 343614101 995381372 826341040 588750708 482874921 980692597 745335321 740590851 177386663 492746554 957853588 238409207 809402846 815867725 762988415 738042703 749618571 759207637 846135655 173989102 787207686 857124466 960028024 412479008 807898280 333579373 585612093 292654205 205144392 259948944 316210680 848520499 366457807 783920207 448837590 143089751 502780757 829137025 221740464 716344984 472100485 902584373 631521514 145179736 845699376 301149190 210246794 729154837 190632790 992343691 731493782 324166046 507923092 251354025 484171023 785556348 688162213 934571215 374881359 596267389 762636419 541270309 144008567 856449661 311677239 793014391 677847024 259100472 614615193 639676404 263462100 753915520 953209886 628924857 791817095 844693871 893965412 660460645 744162595 939696692 870974888 163274754 401744464 181502985 643658291 821710893 211661935 782941719 876799122 880799566 723000566 602404073 555386674 358402639 433981327 224305116 546735667 849159403 165449298 903844233 433203102 826511442 215302529 794486842 713776960 660124497 445542678 323393667 497801460 797304118 274203159 963377543 519963333 113971350 283770285 305199222 666211374 561582864 130783082 548765156 957509198 641230248 133631943 999827959 225371869 297900962 311003568 598852332 771614727 100169045 171668217 790209804 615003726 153507696 363370033 138381649 552351749 221446434 511351079 104639422 821247551 466760926 518034915 664700040 801012136 723769855 109527915 639667817 555067395 308957593 137886094 257470626 606471449 393701487 355330769 136967299 962862948 310320453 645676773 868835806 556114747 730363161 118086059 865017902 537908004 721780059 394337527 868853397 633876793 615531305 628113346 841966499 785584461 663572562 767359346 469472558 849769627 551514867 571676323 430293582 574930243 616366145 449467553 728857829 622061169 685565756 356975097 482333179 178218101 521716357 106758757 608031064 233537609 256181173 495867319 496274544 962581991 496033525 170301139 306398912 273773555 467604281 266039071 390407475 338484441 687255895 116771033 793601524 385766191 228054132 876280884 814628811 390259880 686952526 362867388 904916068 714009225 375223514 633993017 412254569 531610273 507689643 495892885 197016172 416653683 694074579 103826323 695024654 981619039 991044619 926443794 748474696 351651241 415968220 243907016 822257492 781473256 903817952 940484772 959593036 281198188 812276482 625184529 182719408 991651405 121531879 677207387 630740160 566070292 760191110 791202768 359230341 638469741 365351493 183736835 533649794 184827448 637891015 766588448 713773894 742101449 610722608 630823096 578066261 111594407 583199983 111191723 644139667 641458588 564329558 373898379 750858139 675230712 842995680 947001633 324109316 254563597 607364792 814930984 875555624 702296794 461273875 939323988 545030760 523648936 336216142 839309706 453739626 363552914 526794179 133875954 367239206 945151799 943553273 497482452 210715334 112724770 571227397 460987673 816977432 587677773 166712183 632959170 922078668 180011318 372479848 200822544 843975329 318402758 783068131 395446539 719493012 805515821 458044421 387533841 258142682 835827372 618077632 813416017 319011952 618890141 989697129 638204657 810190923 799516565 476047692 908632298 800811014 443860702 542663044 943157867 560716336 745865561 770758763 189114664 420140289 986109931 488865299 366120089 669044119 392546484 631219499 570662191 472235424 989838339 195801593 787273496 546914158 388058240 838301805 188473042 174211591 218449217 897258350 891038403 260957817 470341480 747098614 587526985 432431433 368597436 357345463 644684050 846378315 626891280 704910152 795291157 931728160 576220302 817488849 697230077 294749036 588132273 343716967 635858947 515224693 701283468 438147740 257278697 356710519 534189863 604861654 270098877 513738055 697908721 515654243 449824918 800924580 201733172 370768424 655470707 613568662 978748337 797487411 558623987 848832402 674154710 331253638 328270493 764724534 790687645 822444585 281060696 242299946 774857280 979082506 291868973 523063410 347648332 406521606 477086589 184277218 828440049 880355555 359071453 964357939 981289130 422897338 961822362 217818299 118239294 773169709 343054697 292582802 383616417 728554880 166839364 192728885 744650676 853125115 966619746 866711234 357510785 313675125 815633506 661271881 956581402 788663115 267638129 508376139 927050405 890513083 605077358 489759803 273101202 411010421 328544711 389824548 778116434 109904005 898561225 886277665 753268599 564100413 242956168 331470331 711107671 790012130 488373336 370767294 760195074 809899585 442784004 716083273 302437933 881102320 428257387 750620190 286241349 401098650 363475976 344037169 820190709 844756746 625439487 219191617 615344488 499497378 539023807 556114490 204798608 150692569 218698656 586225811 752472425 298738543 852896289 805318711 319511105 412386224 762904664 702827321 961325070 998543762 350009744 815737184 937504609 165663818 995533773 986083337 188372121 343041356 541321711 891731044 276256805 394940128 300337298 877831501 937564290 284710895 959395759 472900273 167516825 961565336 512096893 539724535 738973124 436080559 100199093 893749338 919092310 648623129 863170069 854586211 347356637 676615265 101848013 846954833 376888354 341115842 538645235 101662615 530206604 822520621 160306453 885398535 442415817 592534235 410264103 722006343 644843197 317338977 655915385 482049076 834377908 293438386 271263097 115352081 662111986 901838634 281994948 622213222 395141468 900214094 759390601 669207948 921699243 508153037 148416983 447644218 991797095 199441642 257355781 989483719 470186310 720569321 686423774 462551701 867946884 702949170 574865801 109563434 166187600 865155245 321400015 496340846 737610649 573547797 773034430 822041168 981328602 779353493 344834479 262396280 258660110 621287868 509185475 807194543 360252903 867502258 849800704 796015271 388717202 526418996 389998425 380550216 104246834 938910732 941610714 931042340 249181711 572985087 704883976 902604162 483080079 153387592 617718485 631781537 448095952 728801411 314716874 126653544 423350186 719886394 331880966 650629666 538387144 347114759 432889575 736610997 834968018 756488419 815197003 927557798 488262840 623083365 629622830 940298653 669338992 513716550 991762958 543770059 787516931 501234678 293886304 705870090 812862351 893217590 519258249 439387138 295038957 686397662 572508123 424555828 776208420 541219697 544671638 635967126 280709633 400953372 295680076 348975597 604374109 430373918 625163432 798658508 165916876 820453987 161197028 893920169 996370996 346194830 626361505 424363343 677093488 271785055 140040834 769925548 274894297 728761239 846551521 227780903 256323541 637887910 469035205 326548924 296029622 420096203 950397789 866021394 320732265 986023654 905779294 445555243 297981052 221966200 431606565 127916773 116885169 463390387 189300380 535533831 824898083 830343069 360106066 887254060 328960447 566882758 761430549 965122076 351428409 227961733 355485652 882911104 901069800 289396115 944220485 159290709 794816330 435487364 453758925 661407645 765188645 928884640 828778407 600927804 449447174 352880495 426148044 894641215 177432879 683055958 840822563 336409267 174294166 255994909 620705794 686243872 365787944 968061702 926789991 951131441 329807817 986554029 929841881 874823903 510256852 584970614 823168683 550745548 633341899 833015063 378253618 245017541 568892873 777166447 971845251 214397883 644925792 821216437 677343688 391478063 987460559 286256061 954772542 523118024 987956108 187726043 561304334 820583691 260402883 629649583 532414892 791620641 470651636 160421824 553029896 162632382 805285268 821924234 121912434 887868142 499969736 636122218 329869589 485817541 569978778 706893330 727141228 496444527 219003499 726716368 136656184 314699065 581195321 855720185 696522883 583101179 282720511 599721181 582019611 922698692 968009039 100852387 899948029 657811331 330648402 216857368 245194735 344305598 493037183 780421334 960665756 265299551 246985545 879472585 823419028 866106413 371034799 204391320 221903203 181355218 600391683 424792391 899635189 558715531 195133373 115102223 434421955 222617798 150805481 736029019 275319655 109257368 425286809 565134897 657218491 969144092 685474463 332415712 204028862 112790428 443285912 611276692 221897529 116684943 307776865 592580130 596528336 493914747 458419369 514222344 194434350 457111234 403935167 132280075 273207732 355967088 529637992 505202152 220388667 630848328 429430312 356320352 308026950 225835736 379060513 377852221 554157527 874051993 984685033 982157991 903796096 434140142 593045500 551547487 111633872 547822601 203318472 575848188 963514676 907869110 440379613 179305669 209683319 221037824 924774084 940754939 725590345 998976962 614619540 528009759 744016156 250286148 262423511 571705736 214366314 345281616 710633743 615246825 920475114 798312600 273906346 559637361 542378953 298154646 588302486 586442410 479924979 560293928 197335388 604778565 710447433 324094277 191180872 710884222 368185855 905383092 636964614 982750721 314420862 638776500 153757122 610582701 715067884 245801614 351989848 956367700 732225990 942270319 660527018 152413791 681126914 311826476 150452943 180791519 323303091 727531038 608945182 686945839 107383086 873721322 533433431 254059588 783051166 213159337 326455213 472460504 368939193 430313147 583334386 166409261 254523193 596822978 213762755 878083931 120712671 794859673 623072895 379548254 270216249 981908279 271840906 396850324 374832243 246046706 309957142 812514160 877871024 134362276 166304116 573306339 883763630 397070241 277442289 223807399 322477637 784586563 161226520 218042138 624102617 702326598 846185159 700611377 858005899 162321054 876767081 491769980 118911944 181398046 160750184 412497807 734690790 819901182 221228946 985349286 151787868 652970169 512500626 430804216 611231356 651319938 905949640 828223531 468890778 866830928 694458342 462550947 754034485 746698537 194975025 314760063 685916661 292862136 123252647 897052802 451727308 179703265 301665476 421579489 449058333 391803793 788967638 403102015 369640951 824906658 300943049 648570674 101802511 881856501 943516318 395834257 194621033 499420860 844014131 525457026 414299396 220598667 119527249 401637332 699273603 266412378 470111289 221824635 459402820 932406550 644529311 308194996 944835834 490519630 138897125 521351307 876992056 514273088 985426211 220814179 584443341 474772762 715780011 143613017 187311661 877754804 399324573 555089339 166489596 275018577 287465410 429871402 127668764 665900653 486216421 895593118 236801764 260009351 201132549 246094597 581610689 623605044 366775622 724657785 404770856 756972828 879824348 127025454 614502379 986317430 825813590 191369831 290722192 683197148 397978199 286010917 829249556 297004380 391849528 279653622 450730689 656351749 230095226 931804069 105256198 158836390 196095050 501896116 723331347 877366398 745916640 208312739 892853441 945883556 703162792 429470848 409732347 992162994 280374529 336445035 326737359 395647950 688276020 283183353 285107386 473457027 202684164 825322625 566053268 339887338 108542862 261490794 658909394 837032523 578174769 110301895 209948984 784117670 822968760 527571964 437391976 888518765 545769481 455936016 339217152 776246812 550734806 462892419 340129284 909988999 269332062 496765559 582826770 495960842 115026321 302527129 127982500 232232739 620947960 902363189 391862619 292395929 729543245 310671580 117079250 141080988 735651508 660931847 754850818 167036576 108626249 774840013 237611066 796885235 968800938 875491319 557791346 588141706 916542965 125507970 130323036 559699723 458084705 266027370 673607163 730230693 935843484 229152183 228897849 879408069 865751090 440616390 998048463 827585842 371676240 433249552 214506525 249102647 895678815 822962921 363857927 288008187 349320787 669857262 256026319 549891227 860763958 526461640 536439468 861364205 846687313 684136303 736015302 109444904 843433914 570673491 353758781 163594889 363806579 544041270 228073056 516134871 332396542 198085783 152123154 129867727 258318537 537728341 922700013 723038874 701752322 419520390 280857951 450768727 367456383 139386229 593596074 680112089 858261616 715558872 685133859 136354585 296642492 722600288 142975307 778925050 578980904 747440113 333264003 951215102 508280046 114253530 502389818 946961327 408974046 377734396 755192684 447513300 385529534 287424498 158130355 500846091 526895932 647260592 463256829 763922876 985626177 558943485 503795786 979841509 205083522 994932129 106240543 950470443 760648573 891447447 557689934 813226269 799270369 734900836 673701492 748276332 774577246 924884571 587505545 444097762 870776514 346662347 672019967 946040060 851581835 690634027 234210619 688771785 354901585 325764862 463259614 508038850 677064712 116647583 508286652 396114706 855696844 520993010 177022688 334921281 690085796 971441130 204822938 510088078 555875518 518488517 287491869 799181790 579600767 955846548 776912061 251414920 826443146 680771930 703924497 556410908 170388070 807251970 509266890 512219198 582777451 211651633 877206060 250845288 755887517 812143580 984064891 853325740 704779490 308432612 955603243 924298587 926418217 583845147 818690801 254202797 562919821 267029111 957875508 584781756 143818252 960325182 571213635 716512678 508545723 373054084 609605944 129244597 176594079 664928208 211354449 963832036 134561624 889856055 278004238 894222928 436882559 546817066 443353025 405234512 229869730 662680694 130894455 201936144 562584637 735264020 324798098 752171085 746259320 257560619 351255477 720431318 402596229 729116749 181392669 166001959 893742445 180908513 830748583 357026083 264995003 951691992 885502142 818304471 520377311 395806658 183493898 151418003 682733645 687839124 585170806 682021386 216216074 521479583 429763083 941637215 713449399 316659632 589050834 857938476 972004884 734375459 331039564 717967957 552809496 202834147 287050078 574426437 977440371 167103575 598849825 486431281 440196609 149206716 744140982 637826500 633524372 265717078 956306150 489727464 831614766 597915796 922521720 915129793 537410365 360655272 915430254 311947459 535828578 757153831 702046325 975975277 775546257 294303969 318830408 922551053 634804424 995156499 929156668 360501006 101359645 603980725 354688878 349122936 629665278 284683891 165401845 884992587 933594984 961040908 339652880 682576252 258785392 957070520 941274810 540927835 177582636 613981101 929416746 584133053 570224427 773022766 251870681 632034913 356325254 201565469 226397502 122311534 839750252 933330108 267567278 342038419 190966137 535747800 160914218 396484410 667515233 633492768 622310178 551831171 452527541 594702937 788208423 967650043 194468807 372612167 132034496 447261116 347612568 951784460 574118496 875235378 875123973 481587224 599149005 553071637 214647032 917619914 204146886 775852205 675778029 920199833 953990734 908127292 847357806 988541896 354463015 613792900 529268747 191654037 715586406 258817742 215229464 163341239 366669156 222656177 331567500 682366029 987804171 465846368 875226729 838417110 663337394 680486450 819232094 329627238 473105054 145786102 527048681 855177546 714978836 631236567 119523216 298671033 867749133 539655495 125031061 571404927 877799543 114664115 948539274 841219651 407047633 261395832 349937579 714248975 295805359 469953332 844744056 751821926 341614952 822753926 721936265 236474330 149702273 287270423 309911683 694928812 701943805 549001847 758673187 789821083 774548874 697680468 682990871 884747242 780683224 290727855 262925751 727910225 425853002 448191947 321622840 681679118 571435823 619520072 101530024 464419699 861812463 604640390 705070619 949823963 987074634 412527251 503779292 450270176 995402604 791238335 976454378 613495973 189605999 171123470 120086582 522556262 868939932 379988450 466300799 299795011 662266561 288232987 725338532 870787671 498212496 786459073 998945570 526361304 475562761 402275819 510388329 596160903 775936505 248410133 535164472 971707908 716445337 400239676 879165397 972319142 791123456 504887499 596242528 515600224 269036070 162294549 453285807 774756505 205437677 926661240 981913388 293865569 518898438 572649924 878334289 647545349 611185287 543266562 545885227 692753336 287875719 669388996 605605918 446292466 490482108 536550719 352930683 955701509 467459060 515018534 594055332 849696774 555396054 936069609 624938324 792151201 486247582 847172510 497755546 382112275 619688364 451512165 687593326 359031391 736247856 318472019 177954746 713078158 503073377 857814345 784196427 966705297 333165106 766982858 600949163 315755253 895568253 736121519 277850492 375416731 463396188 451653008 236854759 809187941 246221839 890711693 222196871 817926185 485788261 904496935 954443899 748488347 788867511 695769708 325760992 682078379 137574226 823860758 389646071 516146537 859051699 769616329 631875613 333459692 809917358 179617809 427125003 240158635 561879194 840364984 149909822 208578011 662556070 457982481 513063956 771696348 341395253 453701902 571063666 410629863 219619577 767667333 216939659 688720351 126494144 347693069 425057370 256739365 542272532 842337645 986882297 717451000 219898013 694016809 381915579 665916621 297350528 227151243 409190554 243203566 708049702 851204635 804067395 820274794 662757156 627165212 644362871 292939811 105559659 330769074 699004366 450194203 731379219 467081633 718349008 610766939 806014301 755073864 295504118 584058362 713402381 430973781 321845231 703552599 339445041 811854316 338518144 296750640 161876033 877718240 970525830 120050036 695267595 148044489 148195328 187775826 653085776 529634823 283871905 385170683 163596057 615750289 927525948 275068015 274223025 545884139 676844680 250342267 193598741 329027329 669603926 445088620 561599600 478528943 919364581 129384775 711162997 900786710 597472686 153871668 291675471 355006225 153259539 730974385 512888457 790469950 564612171 264476582 527635966 537566078 742877685 185789187 133076783 315792914 141299998 538746647 644688315 686757008 908039932 900740225 665967507 374247173 514599556 981053988 521975822 446330261 837083539 868228500 699999286 571873424 148719253 570247990 337665094 887290363 888115920 249535225 390137147 588150293 469372556 543872155 252904758 316120814 883585320 774480020 308644859 478387927 307138730 487787442 781131215 555209430 322865652 925057891 696591218 135059301 289775396 866495864 120899753 851089486 747055303 546436902 150731567 853982165 499643789 496858640 521706527 757347557 265239674 803525991 859213994 489643988 454233451 924230920 702765908 397137734 870181998 569644261 938559517 297167359 272965125 526548111 726683175 894172004 277927798 911909539 941794842 420294553 694017524 356860617 224978703 121184565 281159942 578761176 615977297 287731803 227663560 126411977 515177880 702267826 223447403 645549884 520077914 299596423 773762392 258671857 136279998 822706279 341907303 873077201 353266855 259794685 538740053 681207144 885425782 404138894 342362536 641529993 870773471 267893875 901083060 339138025 720183465 348177595 340995803 316549322 822284270 957194299 106276896 661031120 493681410 635450250 795440116 898278895 750094171 483369574 733046993 650383868 187024392 589763235 923783080 590083892 216432421 298053068 201175684 281179690 709407742 695499691 365669483 922560351 577585873 184152952 153180844 397301330 615562890 831828421 535132321 621476986 690352936 233438450 917314885 864589381 797008323 571228482 149382592 765362482 300593127 306748256 513961789 687255569 710258194 897973083 872142519 445440625 310396190 561248698 210667551 491362327 453617145 626795877 640260373 373975701 793793949 259480192 193208936 626890996 314581553 888174939 488275188 709916047 613570047 943084798 660313601 651352266 385425817 190681177 979482331 931696988 198353957 656116810 891970934 282461047 769120847 158269913 312524419 242669088 155107534 186080469 223795188 876073136 784708671 261780618 385216149 985931329 577570927 264625162 915695937 832651866 802910473 103509050 948250858 329320489 344481912 473067595 682995276 647652093 670548715 738716275 295994646 951448967 932923702 749825826 831373060 728394768 176791819 226742720 856485927 247423898 282689062 113480959 312205294 312745017 154249950 606051219 251474987 650914445 477870470 527654817 149016166 504711984 125623204 362937200 163396070 161130757 707077100 305440662 636383794 401387054 338675728 230968822 656135341 670456283 859957708 358341409 578420333 738459880 566388525 235685837 869765100 105679373 593978229 441387141 487947978 358143970 335267346 223021516 593146285 773814417 751874392 451138486 973380232 694509527 630795255 780395345 696154452 595635102 237516429 532276829 297121807 767756315 516163815 316382534 821135033 492119756 316501380 564935411 565525666 521206021 873836561 476331413 442175252 909740744 181938364 147439786 283266737 994259505 368427412 779516686 801415034 550369730 677210655 951140628 231766549 512305013 196301026 226760593 706224988 127885004 665770527 872997973 425717577 630825346 343163600 491894836 532096808 409143444 780516136 193899256 743540376 833662945 670537820 851233246 926297504 739593610 562587851 432414996 858181554 937162271 980353195 122963863 220423958 255106527 273608071 150345335 406403052 417480134 938533677 104855789 489394222 570916833 501716248 160558117 659768909 187637003 782009909 263815866 114345775 128338892 830729300 166550875 301408923 882265882 367197293 779031448 228331682 173527937 612783042 565432123 249633725 547216624 820843341 289003475 430401906 135332593 132213278 429869029 984753749 824535986 705452991 679140538 857231408 497410535 216801677 411200897 427641846 211662546 850246633 370677582 407166616 609676316 331772499 888460621 779895124 607587976 101923033 254623509 305701479 924482233 141481165 183570824 481347153 293746940 652571540 816663340 232147183 857988495 336519208 389811028 451924270 758090880 471409680 271572853 129701121 909895109 775032658 481073143 261099200 166382736 390656951 724831324 789109700 558991238 328057962 403457350 286930417 360828339 631609854 581470188 738877580 258355267 843724439 680893463 832377776 884277951 680141576 724948017 563483535 966788589 124533334 654946131 286018959 439573468 140231240 396404958 300586007 113806107 975955509 630600239 217842116 634236131 845752419 691105610 615416367 180931243 273207709 531630327 463291182 729255051 513105227 505777306 130185382 958689782 870799907 311892307 197750837 411725244 380874160 160210012 430661884 554684597 123701208 359712506 308006559 798029240 874925805 204093824 258017448 753188383 968167753 386581312 298821903 662774116 727076963 935015799 850735435 974417132 716142634 775286404 369706969 855709392 316248346 532877788 844229314 181415724 815622365 740654531 762868755 827826918 414834215 232405400 800755837 291536600 123589012 354630503 291349700 891216883 321347735 592036497 475411261 558141150 877928934 267683321 492913283 673406304 930307037 882815577 455395672 862704316 540128218 781766067 795875983 914071165 484932620 154102553 676055404 588511977 596412931 322599188 974940034 204705967 674268644 394662131 343954556 874068090 733592954 803733642 719280980 998284794 848693125 102360529 808037379 777865711 690573739 488898265 520116006 942479756 613517965 246399812 699471369 145029499 383088991 604832473 988660703 105456114 607128544 113938540 432663004 742285032 146388445 104695533 956168908 200514715 210311132 943857800 415067133 719887388 183163047 111943983 476579808 483883628 662373735 430004284 767654859 395536582 722460969 782730793 595632693 649559816 941754123 455537469 274667239 350732555 828505872 380207939 639071168 140714805 700284020 646139285 911681660 504151158 536975481 180234581 193413733 771773184 119173405 962581306 116772016 126305568 985370946 643360194 368066720 248580293 698769229 421987264 382228590 874069655 390796709 181523721 283207933 911214105 929617421 100150780 857231191 158329262 831965885 127773034 137148677 227290859 127566820 549845297 888641777 755281176 974433809 682335842 147070152 375068200 354954458 365453899 131897360 856570644 529346494 162627970 476353816 696423810 455477432 937441521 212826824 811803386 344495918 810827089 157582108 204856039 626171216 923766396 549686072 103889913 348114188 652616008 273697791 673053228 931635766 878399414 838667680 972874110 104518960 139921432 150866959 603829089 370088543 448878060 792429401 748385835 496550326 385802038 149217602 766807863 473346114 449259670 412234808 700610561 497574072 207678858 890027586 616900726 666768493 431014481 973911261 335789907 131214529 218515531 534328637 227034325 524195128 137975691 219164464 367900936 702870437 984419583 207131040 976830008 813782512 922986653 961116315 503973909 892369034 596104145 824874990 975670565 389985441 697092741 136370721 559070968 908434479 404734278 671267117 345651914 817721532 920892648 387361473 964175752 905915743 702969517 391472897 157273030 289918951 278672948 223985497 549311969 537034908 732049985 474239633 614501067 275218315 650500665 319404872 660988799 683344314 556801581 691814910 922121402 368618661 846358835 323379544 383272259 350112907 819453406 513310710 973518368 226927534 791610023 917235741 317993847 842199773 486502217 115103630 109405464 752321811 724165641 438677531 369191000 553401106 568495103 582365499 280135451 156001076 351236626 306781775 207394093 920980914 138233147 275292536 226609135 227256730 332001282 717968412 435791315 870537132 620754654 952969425 950873058 953789565 430834993 390214957 682112879 210700648 475119104 419806279 565103389 811809028 220158045 667483812 977623499 949261015 639250089 768601244 218217053 987372324 437034702 224257327 212462381 433232511 298113738 735565846 743684532 937280699 113190833 569428771 800325256 380624200 480695161 137768398 184193372 369919353 211953763 784483500 728363332 769619281 115603244 520066637 115036884 861946579 378407030 204036723 105457404 384182068 917716066 645131920 782108857 597275954 348463216 444990422 304047096 254544924 482571042 797782856 111059397 695255683 499984829 433463210 686973486 736294833 775150742 895811066 382313675 531221271 875078398 690488752 228599408 661129828 636997944 666450717 681258050 152325450 280984931 705755613 638199084 489674985 329953283 616784049 902549399 929472827 649036186 433319230 413155466 899112515 112308559 505650034 747620586 264950896 794932122 442765877 569115561 674896932 659933570 620112799 130193616 907688314 197316117 842006165 368362224 310737601 970110100 590101065 185857213 819902241 144782548 769123250 604909906 536374656 515463499 617100610 334745745 236972824 224311197 854183627 536094792 640522251 359581826 729986156 900964514 761874071 761196473 731258344 968014009 170953362 123423228 903164106 201521125 357863760 264438157 497478505 773837291 417826990 193299331 544675568 244729772 415110032 305291793 579646344 742862506 742882255 977555566 701075917 762924648 346892719 397063499 918898816 233302134 624545552 218437577 527450847 932214389 461641912 179608998 247309369 285108379 314847986 679361912 422089988 600982419 981423022 304018735 468703236 592943778 181008638 422511309 658254166 229997130 553679222 923748036 163171020 878650131 806990929 566536845 830831463 421436247 905839342 692257985 131430738 284556521 595323911 941078902 822732338 442598173 250011793 360982880 873763788 763033918 751851301 206288715 390212637 103330583 574330186 867895572 720024406 283609719 832481855 728350529 834567095 339713067 466808876 154612070 146258153 433930304 105565561 959548810 467624565 526846450 804810548 814616644 314765090 696294655 369755799 633617353 421532741 328096993 141667030 444352699 648473169 576728726 322446159 314722390 440309426 419616572 974009473 935838834 920703675 203724132 557900177 133147205 909108577 737498813 687490288 723619277 655547734 555381357 817981231 951168850 832987408 159505209 101316202 929514393 287029587 324626028 919490981 653279495 902094988 223022582 733379928 211091013 608762015 300310865 424238763 852569237 913405414 499826269 979999056 382564125 335149851 956772869 798259346 814034984 617890630 131865940 284377646 204977598 883615811 338675565 913659373 584021860 626824443 848720498 307148828 329278549 623540833 848622222 785651146 867028699 137050961 678726170 345305565 956459616 434466942 940824876 276721689 192786096 562888414 664286789 497221156 881750840 834579356 294610669 506893186 520974393 335704109 448425379 786095071 229685020 467382291 773506377 144861088 968375732 269146834 208206481 823225034 230762182 823210567 604123669 882157618 680869296 829139749 853672864 177598168 302246222 422948528 335764023 805217079 491869843 417411714 948466569 623685091 306005910 104344738 265375210 880831603 548808583 214604202 164265330 243823633 471967236 923699575 963731402 289655163 103890085 729338346 851902645 122672847 315277490 278756590 119045482 102664758 417872976 634258334 268888352 994721081 451117257 808169512 392952593 998328766 671007774 871014092 451103812 569320066 758423397 390474696 407019463 986873974 418056964 362505206 830137966 210241958 280480478 159580624 923175611 984246811 629856906 128453836 587536274 843133292 681600994 408606291 745282853 293242533 503291630 271190577 905820510 704948477 720310589 786482616 923369159 357759565 755916157 523137178 699164852 590551988 669416885 822073293 689744137 750585131 152452545 416168744 315351650 392774059 723284960 827569034 391467858 644989133 327921509 874620924 704146686 541508193 187863147 621249133 483125738 929939392 294911686 293505097 549719836 698178412 821124432 155013859 967510135 523189471 341689945 963363361 969983323 417344940 551541250 657133734 136694435 787850362 939155846 273678441 829131918 134530784 217146343 821218370 939560095 231357009 728131863 305672208 992013816 694747781 327760848 523179191 133743988 717354602 795708180 983737232 414288617 504477967 224008891 313112559 555277954 332984086 940805381 372274554 341469795 781919568 346724215 361499945 710583814 741543445 777199047 246848417 437972470 442698893 791437457 880063096 529001532 885811197 660506740 782284420 375925718 643430016 245005314 652225668 614262845 157338280 765548152 442762732 132733429 465223898 875661508 279778083 649820429 836629717 376686057 483304745 307316885 175641397 921798670 803150708 623876424 564234466 957902803 294523684 958002451 597822013 964734998 549043231 118560927 412219745 365768348 451944032 215702550 761104754 824183827 383117747 151712303 246361165 452118822 623138323 285446164 411850682 319550657 857880044 673669868 792671617 447153055 344440157 297738869 423482500 388946663 402068038 835925178 192087668 345096029 267201412 954484808 958129241 694825678 576164370 626255263 920028578 157325305 620376181 934081965 964545470 435852749 263192790 881901414 500023331 412247517 267699422 543107117 734613479 873852496 872541604 359615994 315651806 733116562 379722402 845829604 630816959 452806004 668712644 235612968 108164664 344264741 582970683 827150006 626930420 459509906 655998489 660032508 140666380 261475284 735291716 840827246 592432603 433257706 488868003 293667296 221430270 104147560 232009556 924911672 900494779 514744546 812474326 379500086 448058050 293846277 216445910 473799411 746292581 417395510 883362324 442797210 462442391 451373034 178369023 923689448 560497539 460487840 931174118 740165370 368583831 210033129 333378809 962192094 918260311 929524217 967337904 216536338 653520176 315295434 548570510 393203037 851060552 350135655 795902704 129590629 141387572 958187224 930737237 498491609 383013941 287002018 998532731 297086833 956072879 780602555 807906311 255357497 817984207 110398328 672408159 166465068 214888303 874675076 405022239 499952948 849599540 862280258 668608676 203001307 680812258 924408361 686878397 773814940 666863836 710270486 174669192 462930259 204035552 836130836 395709049 435472032 872873198 747592690 560578296 706205218 800182979 854959678 599227778 977469510 122011817 607234943 418678337 316237773 468541363 942190540 908820551 662353669 872403589 473501922 343004334 618837575 823198242 206912437 492398201 899828892 858311946 919181283 366032857 319180069 289769237 208451377 481296158 606823756 287383731 940160786 870227308 665789168 349635495 173173584 675523276 293359042 939611009 620182369 692932868 928497866 405425327 331350531 838583533 549127131 938626371 128015880 792605666 831992333 773368546 435602498 573407406 262938862 849851502 709253344 670392623 111322777 619627168 254954551 655114287 859231681 620305861 699121797 780920647 224052532 682508132 568205826 935826389 325259358 624955180 922623068 751978930 863618933 651442117 368885681 202171529 405746718 148511453 590690015 474761342 489704046 674679930 255941420 612429315 962690147 497201739 783437102 175921527 344615890 233540306 685999605 222252989 649645568 447961049 352402148 752412795 116655866 646575064 337994218 772418412 201915330 694543006 289563613 700989770 691377174 581541833 708732334 799384057 696758477 580849679 339454279 377079673 522938690 767920850 968490522 686027446 912477595 173064056 349595025 435956248 498611557 923920708 921523913 887729483 695561725 786721508 326507724 609951974 959288120 612419782 379624597 503078585 986448754 477242863 789930796 660868987 689384172 631668799 119278547 261640508 405775887 497399886 788234601 517010070 873486887 551326470 392142592 628566788 791062679 489038644 659352023 878736120 410908209 586833749 822493031 165636426 404877355 221127303 224480894 628049972 491875477 826151937 981669771 879148880 257834482 541004981 686752472 958697167 843950230 521751120 196374923 612016132 334047617 199036305 642236263 936616240 867378166 581977578 621039350 202784177 366047531 271994842 742192439 782414975 159896649 771510651 971549294 838563890 869188432 924944441 825210089 323089368 991643283 831875032 130066377 725948287 266584300 708125803 701912439 499402628 276335709 635549113 939689466 304573336 168632017 421306425 977063331 792064795 215612003 156395321 905979081 922838995 579517898 311977036 788402275 627439518 692326168 673783233 914177883 662440662 295168571 820303947 525332144 344027439 586779228 258152332 449677868 283034715 928666166 939221294 785309311 978617095 942134471 914174848 656855548 880091191 623227407 732840908 931231842 421333544 870572592 662716104 933044321 273730725 442424003 374629706 718467209 817681273 942105315 471601368 524884043 850770361 992861630 266562849 939644945 144046817 789975514 298212040 616783456 471684176 628860144 651999482 593983286 334664493 468793187 613808894 387498834 832561124 980357293 409954894 921343917 258037923 918972655 935673889 912419893 678917801 297714977 725841135 574555706 753017843 543872963 235943555 754317075 451554676 165973182 859776992 428360526 659292618 849698682 675456641 792100209 429770573 355011376 125059826 246903128 531525151 199086605 934520882 487603813 292834485 143091795 692795398 235327186 254571141 911103826 379305073 212352945 653861056 385726025 994146143 113124358 818644592 960761427 727175768 604687245 287338178 680758522 474266784 382347544 389385964 700032457 356242010 499899775 315299576 971117708 111184159 125049496 106141284 619397161 615592888 517862867 894292523 646587732 187483839 479806006 857248331 364294770 894489056 115873384 747276470 824312347 930670817 964303382 259557270 865393588 883076668 179167968 811651319 266030152 311690867 195750808 980090750 357314020 617764452 744829279 930020435 412047215 995392785 778906693 141764667 153966228 325935068 626141446 956942832 870651434 581176043 771439522 484779056 633248960 903133011 288879803 928006220 420733234 312622644 933741649 840869990 715318084 810191190 501980358 994322183 673881726 881016804 485359643 351876061 475735795 370456328 513437075 962118451 852795685 310989934 923862688 678785978 252463169 812535267 289330196 665809774 291612555 171746005 698188451 757767687 195650149 355554191 452684272 506489994 652234888 479174758 885675833 497062253 379749695 247041606 487898805 976018138 484378849 108812972 824445658 977899636 868419028 574343444 980578824 555946899 125236334 277838432 220635963 551650948 725323975 935442795 536798045 255856655 744864584 170779613 644402212 699971768 480237632 934184463 371126039 555761939 881764667 886907181 316435920 180275289 979326686 238005299 796838259 225639518 445326460 610256908 237693794 650176924 571977922 485878000 294642562 791949315 105229936 605962052 481467193 565186982 229740928 144136103 823365795 304748037 191908833 775144107 176899850 428266954 658646987 760503719 177373051 824435938 881946921 453855125 246099868 906482594 651632957 105865014 454512622 612337092 832391489 248373874 430833112 967280567 378761707 894077405 163375057 430778974 141817639 393962775 582743185 439683362 786449802 822544547 561622060 858382984 713817436 285905647 849100607 704780850 458359769 435974225 502123048 418067641 874104050 310643763 399310021 582452875 932419622 479943360 565934630 622572011 325301750 747208231 681638195 670662604 111933083 402181920 305080467 515729698 350090030 155453636 110723994 259676641 736626330 966995442 539088187 155854473 269414478 277897930 114269233 581015183 601041197 778067219 138810016 592457798 200281237 671700923 389993702 916242737 502897679 626013706 533419226 520865297 310231128 964258777 811822459 231528228 418551684 380094166 646413472 397450738 376434645 247322830 529975564 889184000 624170681 764984894 316408288 618229162 929449558 824121352 804034131 144597538 348063780 166956196 758563895 868341885 741310948 432135124 976190356 446537314 587260269 353478124 705661800 174268198 308326408 247464592 987001905 848475715 703941958 430589232 431692252 580568890 126706053 337253956 286080641 640270069 520029999 167266428 970503430 602123657 823887773 864485897 782343227 938589383 409374985 369199902 512646841 623867717 822586714 738876222 631952211 448836477 250751334 736415432 594217036 292531939 362545440 799853164 685412453 135096408 763935236 861857586 918036592 456190597 284554970 108727939 720568359 409236846 813822051 617774625 523406811 255910342 290078340 814385950 266621464 837707822 915010134 658823188 879233204 157755431 590241958 246188701 683243145 492713526 479712058 283152480 259430132 160365300 475146320 321078693 464169263 602865929 386663680 219966126 879997545 349250310 483412817 923537993 534089718 388528680 374212460 237780013 893105691 646228749 619595693 744234828 417781366 410272977 297970796 996431844 902654141 779873736 942536211 205740600 189079036 695296626 788611880 394442522 909063005 860926859 543749580 576277205 610984580 335225419 385628074 822341980 157777148 303340522 432508571 427140949 620751768 374682149 462947381 527096359 612760037 618021531 911889697 420613533 346631797 116461936 714961715 409582903 463761745 860028000 114896787 566684947 959673479 950986274 387651833 250988636 925689736 984398916 799553597 945015256 994880037 623177527 812660253 637429286 979333899 717268475 133144131 663500156 298342317 662378408 498783538 302115457 783024351 767165943 268798814 309865760 344975927 816852558 653706508 999440705 886699222 394099198 767590027 581652534 763844747 110549170 125850247 706025328 716098756 434480258 224468507 665707721 898123064 325794047 121259205 634096851 539247598 250743264 743393441 101770198 118980475 784590170 799815795 524555643 626567340 942772334 217555172 113765046 403287966 575682699 525766527 466890458 990614075 657515304 311374031 399046135 370845153 270501958 290843185 709318101 360819980 213697901 983473187 967090705 760005127 972439679 888892694 160568699 256403207 370271734 318815168 593402316 405199796 448098280 649685386 638670859 149732926 157045433 660729586 985176049 560362569 337196918 119976669 708680005 873166098 940368260 301028341 599678417 783757277 499500322 206603708 418351364 767733970 822489450 284011679 302601337 594406246 681116638 605048003 911208038 744369660 715686976 189971762 487937986 330751959 578643973 548869839 482622848 374928234 955762581 543427935 721459175 602063296 332037050 747592174 342430315 256858455 936563221 690099865 603814887 345645476 291668037 608428175 434294783 924730420 445717409 545956826 834976909 495966582 517195903 183540199 726404378 492767353 591410655 843376370 617655565 311700322 347959419 245213350 149651210 794120535 676982197 839667703 544077174 600080877 234982599 538363784 498470770 484889284 866492425 860387744 626740080 928760802 625560011 886775607 187301410 313405054 499046771 530361543 863601120 463509393 803275804 613333073 830264309 456575249 899232459 745231484 861035932 732590033 794859509 442577355 870451899 497395091 963784534 589727511 236567910 173451858 522870964 346525939 852636887 565204579 165458202 705881957 602899481 781403067 563611435 586691293 480161766 537657632 697983513 546652271 256775269 292217563 723656531 632442458 549149553 139077749 362146350 226582850 497939116 986765599 785644625 972458296 680106215 179156867 562515581 509032170 969517392 416148381 438196262 355834294 315351085 833775858 700488416 714476640 756214440 781071081 673494176 814039520 696110489 453689531 843410792 942221646 567896021 645903744 829892255 833435364 609034016 339707570 995911790 459386053 562278285 251765027 214989530 561550798 852787247 337218357 427740591 787097276 579619941 889519316 564029034 409891726 180721097 657565654 290956570 151559285 331534993 951056407 699647875 478741650 896737153 670683692 309655205 134059254 881998998 458902901 744539404 960218645 116812024 796282058 822375681 470753597 928495693 173828702 482269996 222770045 379956841 124744565 429827173 496386832 867486830 930951765 624046599 839694367 450921750 350509955 663380724 788642452 687086468 464092227 377702267 188565745 201498012 730026217 124541392 772355042 559477768 703659146 429102132 198367947 796060316 880894956 658509400 993409072 991024230 512271548 861052878 326645098 179082770 287324312 288991999 465744901 929832677 819946095 131186139 366515884 386019610 310609584 437917717 274886707 173971194 428202471 690084425 875365173 294544552 315325508 311338188 411288670 330299507 233328845 873785542 508392529 742733843 587142327 787091387 703994703 962031347 458494634 953291057 593543832 318754099 298614529 518839094 158608079 947622931 279743878 608908963 883233915 836895663 983584706 920015054 871590766 197593135 602416949 665692362 982632952 985628925 542425513 871190901 436578237 789675090 499345143 989501629 335845636 465611069 262069004 208137533 430886162 831852834 527652569 931371779 632492319 588993416 903269999 317866679 638649925 158494510 120993899 513487481 568482317 167950180 372048143 976390819 207413744 124323990 894265285 303781491 777745302 571189220 608206628 263050955 280837780 343804392 327393292 711617563 432146220 522208337 594874414 630917167 470368439 295453098 341610416 404655211 800448995 550432679 502188505 228452992 134097867 740696301 220494746 151439322 628819008 721424220 537143364 211238038 242335325 596009430 682426118 977468380 313249381 203418973 885282259 134855862 673634514 844328159 286127991 299649366 115088464 508826023 932281003 810634706 811549623 502344637 143496440 915779505 749288101 276707385 800822683 443111855 108759739 908395142 864035091 342901710 729977186 506355426 466630402 137521288 579063528 907165185 293363969 233179899 698773107 236603700 748291204 681049832 347130319 403051323 432126742 970480217 422614271 645310087 364862372 681533049 285487542 908660748 373248634 314609744 493936712 838135143 892146972 397604384 457739500 422681229 684525207 330901509 605284111 307889131 988966945 410918530 977394019 840062999 948693098 475605537 175033333 578714600 735643443 604785724 424122457 574443772 621623369 644972519 223721932 809289541 173810520 297881700 903622286 160025766 295785687 148684580 561735862 109607112 473947494 202330673 410660870 786147874 617557697 986193839 862475018 897567555 920814528 506976154 121049740 313210374 755055751 242332400 992402398 392101310 516899917 374243099 347745533 587462646 503931733 327306307 831904886 265506150 945603497 202658519 506553441 628879062 944356413 434886985 903216917 994178854 577909108 388622601 706426494 300017002 203107492 151833135 714620406 645295928 264818936 929061552 978913992 870316418 716561844 981763969 812834364 881040799 873922922 907715528 168686487 940396707 179299352 912432725 861426826 962068415 645039251 327926776 666794761 410165199 808000151 967267204 740636987 792601452 140785182 259440621 314294218 426144978 833781676 585995244 728027360 768413465 451734293 466490383 405242279 764826268 743318142 625100078 811217422 342829276 470157239 103939367 464094910 317617947 546964681 689472894 776815147 112486044 376122882 375860514 979437089 249318751 172241173 675993060 801263814 146316963 984260633 980656173 295816318 802683878 531283878 702242006 537242982 544485204 507558315 314922257 480315677 583012840 521605415 918135563 334760273 494966008 633359929 856274254 920491555 874333112 392902209 338657087 735140994 326049839 670171187 269897582 441219380 765872532 729334947 708008527 501589032 781753945 221001252 316677777 746872338 629349497 772953877 124409618 230185521 271541475 435613296 968613891 738193906 328860652 328166568 581550808 117863266 723391218 400067316 712125074 815072006 392870738 336255720 276609291 360748305 345674847 509470093 924973344 258667443 693508661 519034596 776644841 153448667 433164629 496156442 350727148 907280380 553989440 196150055 690020246 895721750 284799377 856893802 326819725 454663911 355321635 276045974 257503745 691105635 592293587 254510295 591706267 676583005 701935408 229149661 668035095 325894176 562733227 108068301 208290240 469427477 854343295 612049606 714837334 297083584 765265094 361211430 447629679 891561965 202840728 922510807 457498312 963431645 779672430 144852424 931788362 462926689 293390258 514882547 444684800 405832646 300135376 994037891 686245568 303756432 210009434 643832964 848497739 489046385 330182758 329576298 369639226 979775337 262224201 191899677 642112870 753003252 989837168 549615907 683806566 698203928 607010161 522702062 911582965 318235004 823808750 885573537 725562324 148579416 568233788 344175136 864313490 728017285 308011376 459868494 850858535 923530610 167246468 245326017 283024401 434436360 473846892 602085883 370071722 329864044 918770345 568264913 713976528 654696793 139144583 176625508 820480118 115985965 691644530 108581090 116941815 597516775 153035797 164465532 221302093 326143670 956939143 708193493 760313808 598902089 233657503 114158233 140636272 924233010 737654956 834373180 143515808 368847845 600859952 484816367 524941494 127303416 302951741 875040860 384215727 759309868 145305068 600935389 346108981 995635880 469837043 853375876 517824460 310436966 984124785 698516508 692282971 990233087 155042289 704183520 830009805 183871225 198837516 436249488 545782488 489264756 110969431 568936936 916576542 469378563 758718739 147733089 629445257 996860550 395944885 866689212 995374305 671116023 832734267 244724601 102675053 684075197 746169431 883400026 213431068 305585972 356478692 885003033 558289815 841305594 102876296 733840594 449913410 369568474 579160304 942001774 431630853 864131884 433369748 196735592 710017830 568162605 154519385 771942669 941299477 920696179 641996259 360107334 252324616 131713345 216545599 638190695 389758393 358090929 573011725 894025169 952461139 791020714 274366700 153904099 981602831 190334137 378843661 516996418 792424947 900326200 447536957 659460530 260163826 959861529 281745722 230517843 554452595 416055948 304669775 582016293 592285921 531458181 580211819 439841824 111162226 715478259 557664884 187266155 724151738 898116627 831555851 803412383 344159944 577958971 123798060 549982117 882108658 731055853 371130797 649228118 142381267 680343479 709348825 169144567 645577046 232376800 402580428 574841516 191246797 761123576 210411410 778958910 884447195 539321166 588421025 224395340 992313444 422893524 814034454 333700018 932667442 662614706 992045041 858347114 503643260 589924391 938018708 386299933 238668275 693489975 621756345 702824649 332684543 163618134 630357566 805327294 959497461 744925067 183083486 289381367 296146678 153412391 901296561 186428081 311348300 837899914 987425100 502462149 186905814 686516348 230651965 383615712 597479589 659102980 181189206 283386789 620304463 450632124 188019033 860427720 890709353 442176276 205973395 876608669 550435580 153370349 124577977 328798597 350071575 960173267 831161760 308996236 786634705 422712107 888201617 769807609 855097910 427359325 943396828 973245679 658984527 264655782 754198885 931914813 443449330 514706842 787760789 464187221 825647773 815642357 484085187 418851135 960074386 342036593 550428016 468563429 441540632 596658006 134139148 999152387 652288356 469685427 435760988 945119803 976578787 687535140 722728088 537858238 419576695 520776752 153854712 201721834 387937582 702351232 568545220 964845620 360581645 216540648 349414727 362524322 536082916 285758890 613978904 269248570 951886817 454335070 791604922 800563156 220674868 533024318 253588809 498324451 359395405 757401118 502545675 266669147 980456879 179795893 997888021 843140352 675507495 823060628 207146081 453098128 101357344 195679322 671771365 665478636 767766529 167511174 542360461 889205689 593217142 905033097 719674670 181752291 225623195 551386865 658308146 920747308 240687659 777845202 241951591 131873688 721532441 129839199 190279748 311850323 454487455 973572092 386548434 717790573 312711414 750033252 410584273 569410373 408126532 796447398 212775891 320105294 123590943 507770723 325542548 254293848 998962154 931523156 147184355 932624494 291672816 186905970 952615223 125595928 901363483 873731418 741174937 240176367 254000442 658242883 583736251 358652095 112820892 572177417 556111796 914278179 257636766 978355720 553063091 850900217 644099699 412555072 307079175 789587539 458259733 263110187 221449804 734258902 231765644 572428324 710474445 892698509 273170193 270003351 899783934 299910549 551401148 154471342 509143921 734210075 843305524 598745495 750935069 107558331 473353253 197764239 394517363 475684435 649675648 131659935 798691261 308551357 979199955 792207493 944814320 885587734 625118140 524149641 579224197 455152538 957657752 416165892 264974315 588907503 585455718 747601031 179982463 986085280 861120014 362684052 597039770 378453084 590208157 714734105 818807145 110577508 863026523 133828107 262905128 424031584 828047733 244745950 805215574 846669637 692193634 544757131 651797726 255060149 638054320 913382334 793076631 377136992 470543071 512871897 717990405 256671001 663405405 331511839 127420164 168378514 687209402 392905023 743572909 329700167 279435004 136173891 481208178 603555963 178812581 144280497 205039138 352793352 997225713 914135610 943644616 127386031 544037958 657114141 533574706 132797225 119092216 840304806 948019526 166490578 155575050 242810100 802940725 916970601 241717276 191268311 591547737 613467673 131539249 929342616 272921208 972766221 920350466 746670748 828462743 951508079 961193169 943871369 557986264 296572999 472831179 129695952 785649929 462952760 806158765 842883051 626075237 998856152 506700888 324646402 375412920 752595423 863950731 762469468 753813825 958483853 791480803 461897328 134608600 448108798 837630296 227324087 459869845 965859311 859307866 104812172 296465374 375869390 905919835 738917266 598769327 360367321 971397888 539088431 954211721 140710844 556683519 847505143 844664847 119460323 195699649 965494450 713068941 278188142 777011366 348535839 981681511 403491495 311354428 602999954 684353045 902822657 965765424 578216474 971940862 258010200 752518099 817334308 373716172 445946886 564658303 595822523 789271257 327327665 488841576 777114119 714850174 872746857 406341362 512942161 566199178 564092198 816851049 733501794 190267925 844802258 679934110 220305761 245228159 519104523 698260899 889050268 515665753 199969150 797247071 936615871 381828258 583392076 972919219 969325689 597717123 410855413 346234107 732583342 589039663 200367535 715835663 561184905 996102338 934057251 287008390 830867589 638916273 397170726 740334488 705886077 978146878 935477648 468848816 694172469 498269741 100924568 642771784 673956797 152127142 160303093 735021509 276305958 477330444 518984304 663739974 271781842 569794915 489388586 554506767 659390933 923874639 167284266 498805253 204368017 292720212 710625720 655099183 696082382 701720950 215723931 704563218 301653468 682502814 868267531 848113875 670361861 792480243 580063986 717278607 158852836 282143608 299911489 304904407 438027020 802878522 813771726 959264965 957782642 344086877 139938677 302435361 991468990 134688016 355186556 286324819 372075448 216792788 185259589 665740187 772526180 551814566 305765330 551056772 936424000 880186157 207779433 705335406 276527342 989133343 502122927 513639885 312843402 720973436 507676119 626313628 911423729 421796673 478982348 354698863 843942465 475736024 662810620 920482684 962135604 295315196 235949866 339336227 409103538 738927607 391902437 859161762 925736473 484559119 770250487 106761026 131244561 868887897 847775356 102784661 823563317 229354387 735788818 594122455 754790602 794659939 706632455 660790016 285469189 630289211 452587651 602494258 944063362 169920092 195654847 479920505 692624551 986986835 973610403 929497514 173813882 588596816 575104390 623980423 604406841 488925581 846394323 203750446 357698233 486533502 931952434 299712445 945270380 553649294 414206787 199955323 469754125 323013924 775147238 336233263 556025171 130968951 143797020 788074310 391803446 564172484 703814519 555589956 136546015 254024655 482148446 824165322 297746848 884050760 633820434 637093949 119343053 441337389 959894290 755035536 408833286 680375190 270669001 459690367 157998965 354204395 330382375 286446630 821798586 842328614 702895284 123717590 922009408 823958908 600213073 108684788 244614042 135947076 411059372 761550397 288866480 422227117 308560190 308804149 669026504 550139845 558471676 858362432 353638166 908429679 494198772 152133400 357746620 662861978 702812647 277132249 154670763 645290809 691748731 765187073 681325152 104186460 274053582 850459633 630562481 529644681 461665271 531640915 780895135 951190102 827816947 647965687 209036060 468460785 196876340 892548510 559400203 479626939 551858315 439858246 794056055 790493626 527353949 328432099 371950420 202819018 454788792 995526522 638809926 955099719 988028096 325648135 546741754 357939831 771326995 994109933 356116143 222415514 954529649 640704955 688385489 977763392 864153279 669327004 866023078 980510229 153381304 741403833 273140779 549806676 467323963 444230738 649271078 538230742 124058054 639008053 601048770 163088171 846580063 584733604 710777261 501905687 561346012 149467446 219466771 173101982 821158878 441840933 877380473 818913949 713365319 391578546 531471262 728157821 889026099 670447963 217626913 848801081 628008114 921792107 359015444 886195544 407259587 314797592 294869834 993442703 176437883 598377958 960836005 922729324 136362977 231677077 430894623 147918462 836486171 418051957 623321050 555953633 164007723 175299281 909116965 311427482 163966223 624531229 172526885 715179075 945543727 147376532 397775105 518462709 312607871 342715126 751023920 671740792 655032571 976810551 387661186 418605572 961977157 944392347 763235843 668917679 151381459 854870880 948318463 344900631 500621141 386252223 574848283 171584538 283356582 352202342 517109162 781651170 761298327 362155295 491928445 927611864 949753698 952318439 541579472 895799998 150961534 488032157 961339567 941532500 594824042 904891743 714984494 806537655 431965086 385326686 737629544 957926855 170968460 841607411 503322821 289499331 199163979 430199819 845723214 270914883 683677445 232001065 913504235 933353041 790027177 242574042 232701376 631272122 331514099 361959465 553228608 657716670 554902010 186541251 117217367 707936336 704022501 216512187 557866820 454165033 326408556 720758751 628597949 291855988 946905165 227981999 418943063 446776843 194542402 353932392 148619030 258856962 757047306 810181268 322936414 156912689 692739077 963693562 623942539 127195416 900331427 525405048 324109937 613618924 693369372 915163719 319432330 473857069 770683467 862313472 964668991 911724857 610529586 958391408 176162236 304848434 302743299 753179987 170308107 995504316 241470670 721406718 100718642 526818166 608030940 208248649 426715765 946062837 768467799 126825812 227845592 389120667 734657641 189486390 294843776 176056978 910910641 909736007 853198201 367587343 535246616 268433442 966670225 736749445 812186026 758990467 113176560 264256178 294121232 824331011 310410053 724527965 736484066 978948113 649915802 898730984 278788115 766565845 871967808 965182433 356823940 286422006 128243508 135296778 401231099 137737704 945110498 866820032 796155278 700391277 856321880 385164374 443573788 294630780 459401927 864226132 166855044 623737452 585803050 569202146 607637389 302993189 565802511 357904535 628789137 959345423 534496221 542599427 700743928 465736251 459636765 155147083 590401522 327023285 245813679 966692592 987012961 704910673 934029229 721326862 390975779 188602222 617302206 329048879 327824729 422353961 640740841 808630272 366698641 373670175 603708706 642881761 522368909 933952718 761167673 966016222 249317942 165618169 722059150 593743166 898739458 641949601 139253293 847917377 438097300 711414717 355713617 586852417 266200175 196547094 398847873 555939014 206357886 948436746 679162223 152061162 850632241 584947771 872461403 811199726 509476767 212598195 748097298 811720645 375794297 854593405 819321115 926760814 940606065 569253098 102947547 777889282 755898868 248600021 895036371 684832414 886710042 458778528 653562040 337074126 491074503 476328950 999628288 108406093 982614508 835797886 980187323 480934482 221556281 934066908 148175749 769132264 904873996 424396038 512567079 965102247 897770851 496155046 877991645 748633399 968271553 614451556 371809011 791023376 209616004 105058706 319327635 109066448 985362897 585437710 626954465 217367744 806687557 767897890 836864581 780364803 209562401 423805384 215494980 791649953 610336632 389985897 190940758 652591742 409140245 779733135 802279827 417149221 787725283 170217602 502646041 723053644 473500942 932389390 660184558 117099211 650924220 890012754 166496171 559861940 604217330 905140934 280733735 362344115 694037765 454925753 188480554 440554426 532102529 401521305 521587385 769044597 167930811 835553920 912657164 164550647 264368216 450743359 663550576 882275417 310647675 947927385 354044874 918354320 791839103 673282890 875807026 770660018 448024202 439461849 948504530 158473585 673136544 919407011 849969844 586610797 224290850 520163861 968912230 654972259 521549562 113261249 502243322 875534140 278548514 102936251 315184775 993474127 819139053 592618853 698940513 873021941 647117710 137142045 396760773 197605843 956828068 399315293 713856466 231547613 234385824 608336338 228348953 786854354 513235022 506541837 361706601 554425459 455836682 764918136 661798813 494296074 855222959 643324904 250677441 935535217 590028709 751268400 824927456 575817557 781041174 733465422 758064942 414390920 618391804 727154036 477625391 210326618 714589904 810943787 594357187 367043472 353609365 835066810 503182298 849915877 537558471 193054570 717673148 631327051 357487788 938759216 789202702 111334777 247065908 807635201 622727377 310046594 408037107 967392608 460199280 459601720 372096007 713633842 744898950 475807460 973659152 410780576 876887024 233093438 571180519 184394157 267197878 108840370 381653251 169175762 139639937 712849743 917136091 943777644 118800816 112701796 918356135 791571504 460878475 249276605 481592635 547808048 524887117 924786365 874591647 117899554 483285315 797555516 512398288 523247316 321028476 270283216 714679970 834191882 552531677 886487423 275074926 880115148 480173795 180942397 987142806 814092343 948476668 707479712 754119291 204988050 559624071 779244521 636925742 729252555 579270240 439996846 114937825 301834932 116587307 935910309 556024691 366165544 214726182 836580910 707262568 596587801 628879826 726335252 667217182 123208116 671659258 851743442 657110661 962797302 440569242 808035406 866417928 703214361 148886301 507566483 266861728 856221911 917873187 385667237 631655704 471144235 835599530 906547089 131312453 372163378 164479562 288794236 100551959 716230145 263623982 570284580 570775785 281399108 994145016 108483004 994406686 776143803 228116569 260808997 251754808 367287455 920052736 768622632 998082893 481881632 297018468 617406760 417314756 290526078 112443670 517684994 297201523 297246079 140053628 637402479 801890181 790997439 281946581 194920833 718923819 582161316 507424128 528792267 616873418 789081922 114885395 885237500 241024640 799067129 799386439 282869452 564965488 129776065 575548918 370821207 710151649 869442935 603102472 164514340 785216315 791885139 743764920 765554289 978165150 592449686 651245696 751344317 540337963 487175604 255468397 677941555 726070365 125375816 288194867 399460148 206476206 424084627 666334673 771353168 544202713 300922547 773183076 882209810 400840988 714176267 505286544 957027423 774133052 549016579 893990496 204143026 288175482 536806412 379687700 243174920 267479346 543352925 275757945 565571535 277348961 875531762 732181388 846257004 382970946 532490356 434572148 598559201 710326273 286803098 750843937 625663911 350530972 619550399 683761467 964406216 117514470 359235048 938271579 618495012 576105801 500087340 174472770 487907240 664724223 535315434 953213453 773972012 415935076 879839311 615454413 676784496 713795462 243554542 817250830 991783589 951917471 466637060 790989909 422909066 868090627 845987716 383656911 495613115 670587611 938043401 145923123 456319422 449119799 167682506 805083906 778667022 693704699 810398719 782509876 200878871 187091037 612338060 815807838 351462097 119674719 712880111 968925498 942116398 211086149 591047938 231483570 258326921 120908115 228592480 919942993 908043678 377186552 682353716 452194157 547286817 480117988 519728626 162232297 339466354 281090848 993676740 469612954 422879657 407529319 213510522 887678236 177126287 218640279 770827634 864223227 382118951 720757112 676562615 678451327 340058806 790161792 364185365 111831925 532938085 296894118 419782496 260964811 141484812 570912874 102873895 561916068 421211690 387384287 945480557 764332623 154827717 836449477 111373380 323815385 626683752 535867744 617790096 835610761 604990912 508416323 612305697 648068973 648694195 770689779 670575549 403905068 452972455 526059491 778071304 704684210 373199634 554233962 382831596 366639314 513874160 426580467 187420817 187021547 644912404 983568581 770735249 639667430 908301508 610017438 148490596 172254983 301749810 403465872 869582350 501075910 148484665 655194986 692578763 567540719 345295902 366195499 342848411 435213569 997367631 795755559 824806099 900494527 341221214 736426185 409135923 870917833 351274642 851053908 902333283 610928893 850726134 185685175 644251948 936642209 811188465 382245584 433644713 949269374 897124571 182486434 793369468 982817482 574221908 552803673 531487376 306603106 908512101 992264307 715835702 307348065 709868287 309161288 413523401 587914693 831751289 999558302 491478825 817720664 193843711 733073294 985840309 646750795 927895355 907563404 970886196 925470810 203875065 142534636 579039751 744220470 608327697 476725822 735635824 531021236 876325065 824325946 470901076 388456559 153315103 919138279 853986065 700441209 651979490 122463100 155946454 317417726 412308536 284569587 664078347 859522223 906002984 264850584 465834583 849058865 967923577 577524367 945521626 987890393 609460876 391097609 539071022 889667501 896738331 571535451 607682722 484417205 728592164 227087940 235620271 134709261 186332365 343784150 417190918 210110138 158821722 307900083 833966769 288480031 729960183 834710729 936274503 340963020 611718515 501325490 979799169 834009231 885646163 448522332 472405428 315137941 972567102 555668479 503528973 155872819 561184621 562983574 766723116 831872217 725226830 406267536 585235430 224297260 381286253 266397870 168964157 763874194 557793893 400431745 842561042 988390742 185678781 677145798 366702658 159451339 134517288 805023995 191477890 698041137 818842796 972805288 741342668 580288891 456778421 756134800 478611812 535943074 939854475 261279705 496303001 409158467 936137169 156864590 779612765 175918629 944592842 432980275 950747847 537320749 598002533 554318786 717036113 533967976 217337416 101253293 734487965 676316443 797089640 508867052 898358943 555478351 990018857 649662981 614457810 293971130 363670099 129033598 176299203 545018323 857447773 902460622 623450818 704360528 804272734 551697668 462950530 934117965 121823655 175410129 959546280 592455629 230143032 134358988 497700733 615949275 949728657 199517556 898769500 728186222 988093303 685366933 647519550 326582613 857170701 959753750 758197725 887118439 828725303 367746678 949244784 214652901 532945552 182836765 291311616 112004570 872207072 725882797 286248522 134244735 145451826 545533775 978040354 852082744 101426112 788015019 453180880 768526423 831439659 304365584 696637636 119112642 564787691 131944433 500569708 199592357 457714396 554738247 758011276 644275468 944192352 499701283 762674054 337370972 529417251 588530891 725520482 579552757 815529367 582321676 720036100 622663678 492466649 212221982 345986361 750220775 104813915 500972458 864872961 581161956 679389527 384068841 637859720 447873243 597428920 442879742 648671124 260661848 153492059 457857210 705407348 964219493 480614478 365347173 360298870 783932741 864544405 933377784 391012339 945608622 786525961 682038867 131896707 277521835 854628254 814764712 932969725 715722505 191422289 857201334 980150601 933720738 711497420 474996253 373446901 660561142 165668822 608525218 133289645 475581844 717339945 872592952 555650620 348697239 543812974 739925437 971893188 418419994 710827040 389665461 587765909 865554389 661844407 727161486 498370169 650292342 144929347 549136310 844306508 878877023 550402020 295761341 595193837 142689708 388465402 361592168 365521048 345689434 683922200 439584193 799197678 993828958 230700058 360738611 209337991 618855337 102552718 898073671 748562408 868207080 591735475 613591795 899925774 470613427 912164250 833780579 656964269 509748781 537204749 670614295 317857630 383368570 337542306 742900683 818333378 945156652 665851150 408180463 237275266 996120383 153674016 160941640 861768174 493854796 805588760 421966464 555068288 535375950 429700972 836420515 304068182 565035716 420277028 723300943 560524359 336126919 635588684 885560293 506789072 555268947 136915274 462568745 307045031 811108226 759081641 414604562 940436696 526478492 983522867 525845224 447524125 701038467 824801847 496407541 202993238 378926641 484863405 455695977 743985133 956792914 677188131 317611108 931446834 663833161 138585459 927094480 298603147 934480537 979920614 357652569 718682813 752645138 628167657 567797431 885353615 525115239 754191175 202197088 521514474 484478634 897950553 948803000 311570988 527661006 775047466 170235288 923607938 147652193 122305254 237109306 880118708 155320898 361258339 533235356 761433122 993026713 677444241 213811447 467602632 189386056 494705238 839383828 477731905 785371398 615028426 297227477 463949628 659568643 120249829 304359787 272796134 948152908 587961604 908971214 619949551 177156524 784159229 391138820 541908042 608848013 391094806 334451210 800410231 386816347 296819175 802486940 339920070 757537519 791946360 105099959 595138560 699714845 455085514 394224347 729451519 126131665 344860176 233332435 519766768 648693527 570890353 803771156 600974267 951206087 249802271 596139228 814723027 705137140 827259227 902658208 732632441 739998004 975063186 209105026 495976202 445388417 333468245 689348321 342945088 440247888 668312811 883403894 762544691 306222577 776238091 739736104 681971859 175267079 155117045 297746548 570862036 196609757 415154325 633251065 444636386 999605026 874598368 431711028 877580543 734516120 351740189 566351065 971524159 447865123 165200700 992558854 884821978 927124643 809147977 749720104 180560517 230131213 672372341 612037396 184917357 492874205 353851421 758040793 611929641 150116771 455970428 676015218 585196726 617907688 345008235 549368458 772766084 111366118 341515366 469963684 604234965 615580334 821408613 383541279 286655871 974245088 836159507 246946090 375368537 204106481 854872892 885037556 916403579 561802249 238150461 586855216 255357204 207448570 670452511 447428143 401910761 400976646 864661345 732504496 610526365 728453437 331974293 743808077 966818566 122890203 419180091 687337052 385530359 910131456 392179108 698613820 405269114 207354073 676888060 676137514 718586334 737735838 758000928 635143242 649534721 778050275 346196043 464014948 833976091 265994720 389764922 523107925 601773629 204746661 303673180 320779660 533680330 325777374 847120956 494990585 139901029 394624125 234879836 794860716 913615462 606191975 121016002 126998732 839225690 320533185 438417426 458740593 907199913 323280578 801086609 742695200 334356967 510898225 391213773 412473088 829269162 162168548 826980835 458026610 326556403 372725542 274996321 218296144 691424019 268334084 950006001 750722946 933497425 751898369 346514030 498073169 543646540 807251170 473725296 127820811 538458977 350685385 403277502 477044208 998351740 720300038 140699376 286849624 801612869 655780658 294516640 669288504 880187677 539115175 257114111 687826365 942614463 194235747 749759996 686800420 448666751 873743498 735033158 337932859 530413571 335955062 821033051 329928985 398857796 629872145 839754696 905517485 379501827 494717448 372441931 612411316 839172924 991708938 352412544 606482154 904293122 814996247 489134205 201358181 638336803 396527394 528189057 579202941 537609584 963069121 345628271 489921952 862128194 355312002 959077462 785276034 605481303 811036547 765778821 365728397 893482454 535577150 905859680 373625628 183636850 300419983 792858638 649786367 618540234 357088236 825168644 333897991 537807790 540863765 926029817 992917801 316998190 856669618 597234197 562405889 359352186 703636049 200884870 351295893 317835703 761460469 371640684 178990724 361666285 164260564 107649855 422796359 453270694 405569274 331744929 438923649 273326697 657050964 885903596 189011814 524744431 345367277 254317271 638256084 191753363 129950560 815771238 850293670 319547356 410594931 467055191 396841939 309850982 920296464 316572773 175985185 319926865 204458133 282765798 641313698 786253755 143730808 489939128 781547900 507865085 276924236 111386781 646190520 393817666 543576392 861293135 618690390 453532294 585641796 496068168 476655562 317379205 295698560 450294877 319671610 482617825 804748763 496616179 701673854 369783332 390558228 909300512 117942439 446376309 672309394 481547595 270787751 977617151 922734261 961215136 256073995 595394668 181634220 605935819 451179384 968744262 288708172 343636351 366660218 766124357 750993204 226780006 443795184 490146260 913428722 598456313 864684496 392075414 585185082 600682371 826429078 215430244 175626370 548698456 653759973 625077806 780373046 943205753 502924518 127393130 806452924 619454996 220688530 787424324 661843118 440816658 451004696 668329227 373302019 860779608 127736986 845305826 768334366 613337320 581972381 553609352 249950852 583980048 939989826 983642514 512886433 982233589 796347328 277272624 112498405 205541805 355890633 895330024 733648227 187130892 128003480 163174045 595811766 106307621 186649939 260974923 326366165 868001080 127224351 476954878 759096009 737363546 376959246 467439384 903216786 739488515 253628055 150577078 693397874 766638139 122737164 977800644 322352019 359648080 705497755 665789139 851955303 659414889 736229019 156377400 237683089 442870251 229226250 286392156 410014810 439636869 497785683 804068090 323285831 589097078 644550672 710210326 580971013 418468604 509773685 475555584 356579109 626200498 679962487 751070266 351913158 519473715 795861726 128086798 959326763 135547583 102360769 132806975 640241988 643702803 112720195 846371708 206980846 544228420 828056807 955822163 332639924 797691870 403284255 570746865 861170441 466469178 156603231 507276954 632673062 489161302 867624041 242879630 794499291 413051703 594551847 118361411 607068942 762684382 253185715 875400613 543695865 303822875 743087805 353108397 710561376 295518235 707197654 221934903 321274883 777400380 181665221 189787564 718627895 699699072 748636339 868767832 300320993 503688134 602341651 633603748 981582299 574079282 359208093 904834380 537155865 927810739 723051511 871857334 337367809 742747101 660580228 566830673 829722389 638260263 555372913 449726818 772819442 302272490 440286917 714612175 404841620 387892172 347295658 760454840 429109244 879240913 999679125 280495883 344896600 756301847 889032566 975670454 932303653 924026823 768590768 889993182 200646384 699228229 733681215 896154802 112371665 659367519 875061648 442535628 589422051 867370035 482750176 311608041 354442763 903453929 517221850 266243477 206037806 399183909 368818959 320100290 188093647 712043612 849361824 976585613 618237454 651344173 359866574 940908392 445365439 320620020 771777821 301306906 945991798 700249358 460321391 771726076 589837116 505069415 776483528 948712070 180588026 511483307 714815734 189813150 926877077 996587925 494508250 414132936 424706902 975835978 672122623 431082064 456355855 663466058 487156427 984171313 231406114 788489315 477374095 280758512 611601687 147379913 281359954 492800052 492659990 798412354 178233924 844062276 118385337 873493101 593245093 803618565 784422479 882017783 560142059 129174804 107623055 731604908 614487846 794600108 986234775 658075892 297406658 413440397 941628186 617390668 652320153 581520599 365444540 110713443 215479632 545647229 871676455 131562846 421899615 491885166 275357390 755246555 777557635 205511729 626096559 917635790 259119229 821712031 399550624 527814292 610625873 947024322 331025663 572609012 567794903 767307993 450404637 618292398 868584297 195349878 815978951 548149586 523885929 295317595 857391192 984869365 426993774 934033740 881503816 485406750 593602875 123354183 353622865 420485375 506033642 265625897 659234622 825576070 945196247 933174823 784657543 645293691 203987609 920656665 487817088 174492966 149253621 971940521 592009979 317332558 563184487 673162780 809604772 651039562 967689582 521305820 152269747 392927865 376378023 423702218 145767231 346858426 565558874 505703581 287270263 855524846 990971197 626762457 617338400 133347837 140395523 766264918 882349096 728723046 127178440 558746618 835064701 886071479 157088221 491267708 157758397 828045080 111222628 491331349 208903900 474191761 952726412 747084324 457330562 271464983 135154857 699475746 650765594 409130401 106837767 703043775 994031209 663591773 847470323 713343835 857066796 814659822 569791037 327208074 362991292 819808480 969263208 514326721 669463049 956964440 815170778 388418550 941125587 624151338 713950257 291183160 871601925 526300780 138888948 618970164 575864775 680771672 211541209 633832012 250637381 741646777 841746689 575304168 425347038 886137379 403518996 365689760 338558137 471261007 437516361 598471864 773330484 676989119 779461022 570575339 305084710 924905943 659788202 586668310 848122032 961526187 850036672 620313429 343753365 846101108 970815011 390307489 193543377 536653335 467191917 798593901 912649795 698743013 550659387 211114782 498498655 451656397 370609141 331292326 506389821 299774803 973806555 936510477 876879415 525855670 202552378 768166486 659492223 327588142 810360425 374891146 104720931 227156710 490488475 637545882 607064486 705789659 581172474 614319285 401062840 475609849 859276307 496797498 725831939 430097467 296278488 860258157 563436117 944439990 369560043 721041896 416909943 468545731 407750008 146776566 671892274 650853393 955947524 824707468 610155547 359746586 314698536 828434801 755198827 857231384 560639889 355697297 408714826 816180092 173993021 953257852 468417910 637411076 300936633 538327994 157155108 147168659 157737882 180823377 391515466 201543234 906615949 633452930 703749413 165068992 404614314 721378329 808488560 244974436 229038888 936575759 848366891 774966092 233341187 266147491 145503047 229913308 409329021 942608740 176482906 656491445 358602061 610415156 496640425 233829694 754993798 372513921 982674480 470102960 303361913 698024077 872552006 150139228 337252953 177939127 315191572 176667310 464587384 684621325 772978558 369263720 796324139 584361586 138035853 943115477 378577461 144465041 260374113 660544019 954587496 756976025 928786325 558169060 167455201 979983864 927749961 846242784 592826395 352971404 534370218 941045617 979123986 786276653 582223733 690491516 346483584 308755267 874679032 695757463 402742673 751622120 749455866 756014328 596178881 671934621 660265070 778142701 318941549 726880876 348177407 728919441 143953864 919534107 294113938 369175944 955565435 241837890 814245799 211463629 489179499 574405384 937524436 631513013 844874747 907815376 684606220 241095416 388325871 443212215 400330643 381499361 336889154 444380086 224325763 921354990 367663357 487695246 206648082 743181667 665154011 947011171 728178722 300482976 484616219 598488397 305518945 380076215 785765688 566825283 694654340 738747906 802099765 425110259 983075241 986348838 977549422 725415746 569684566 300317063 381555457 262246525 839459075 343729189 181531599 304647773 461892789 418844629 365349840 209515354 179653671 338811917 390063983 912190741 831299786 153950856 959157450 177944634 960761626 587500741 542884726 767734291 152129927 101007593 219972657 341147427 559234754 308964655 398156299 788304837 355860849 410939332 875540770 907778386 297426960 457690079 881840660 216237980 797576521 446677729 495303597 171848052 103022702 966279755 566219575 654095095 884087002 297123115 384791053 729067801 949376356 904406223 988786016 293794596 662837864 266189056 963966070 662775566 141318968 839045139 331868388 506479712 380270339 424455897 800251859 361947828 607842330 549966112 283175839 436822396 958111917 746922664 440801433 466738814 320151608 532480080 388088262 660254382 711106660 193683224 483739950 108358843 971726958 279726352 638515530 443560421 160036837 957841813 484291578 544813697 567457588 277324078 483537125 492847914 327178722 482716148 350746505 544023776 265998579 277535134 592596796 124168320 292748572 624793331 859154051 824930246 159921092 296078530 663130357 654566916 956143486 609277371 531204314 395386501 761767242 540728515 620822207 706008182 443680171 943857256 716904788 192114910 804462898 647365761 202789307 861184901 847391508 185350589 128216710 398602611 921201582 411701906 826254637 907095906 636090418 939401451 167889149 710637970 514599374 630230808 764243081 910539033 106306080 573193656 618429494 330698950 465862111 875157786 564343743 467184327 116580182 396311198 108859767 677339818 584381003 229303328 309141654 932219850 529290598 101584575 770594906 308441069 237750886 215294190 111236943 109714020 721442334 253573862 567939899 312371409 511429832 972257620 504156515 862443753 393820871 698075273 149897857 809741154 876339762 424746445 270148693 100527016 238200751 677448070 862566305 945785131 757540762 702592390 399360258 503298200 655473514 668685693 702562791 780277123 199610438 781606294 137265542 737924522 173119864 725430542 100358013 388485653 254102732 771193820 800697615 767407823 865503986 869517764 326876956 935837199 465367806 284357470 233223284 712672563 198805155 853780194 960041268 807167847 818690208 522388736 395083665 484691140 374893029 626662844 788189740 826640900 437740209 390638594 271261975 150953340 363610310 553895421 895491491 445182301 187785639 774693168 702338963 280892533 155838847 431279468 821027210 758675793 854936992 270357926 413810954 102755131 905445734 989859211 704788176 969547017 280525721 386362426 611400559 471259000 353360613 962080065 354253572 347468586 463383775 370172769 329624993 217209606 874062179 874580886 911845050 494881266 645977251 958724822 241817983 279622149 765410405 829135512 951714806 593266197 383311261 621663824 193778727 837683199 748324509 671238214 384032042 450512529 394069504 303288275 451291744 925956481 501871599 820623925 428507060 569650818 690017843 131431599 852085470 128456094 273201121 556451405 944924139 688101517 929532866 714128697 263265084 552988582 275070121 243760318 200329952 669215376 627339411 532435656 649957608 775761405 619733613 594036188 645899965 890150316 174903524 387778003 450723166 451523477 537900270 224551246 826567187 317755447 338721765 924395248 233273329 291346199 152206952 501161345 141757551 541187734 412807663 850322695 759899013 388373177 939817731 966778699 497315785 416733159 158014008 330714230 501546600 875716067 727711137 445637624 410879988 844755329 542475270 966477369 631901011 185679735 777392998 256639640 526613169 177636408 429481919 974187303 190436687 115605110 672984444 207620988 136806340 625928534 500550480 146180204 864723491 610223446 312305408 993314636 950005360 732210074 580258853 903705812 979146629 907873934 250659414 791502445 129597090 918824516 892551286 258049590 615790791 603738175 914193321 478361456 895434319 221036379 782731078 208849829 919346595 648206143 982183273 602633670 607950664 594251263 236047942 767355560 568119160 335904836 567741506 653097392 740918536 431648576 341192676 628745891 911422651 648915300 717251808 747002758 205916860 461524312 150041663 598777081 546378748 606865468 526030133 274298884 727073380 904075211 120690766 256670294 386076655 887918017 376845131 518703184 594645540 772047208 737061684 101991353 917403077 662449523 413022833 259572653 199790278 351918730 805594449 957496935 928540816 404598076 618411637 953341637 416738000 127677308 807704516 755495639 235665382 475094512 492724541 919918764 697967578 553869107 977074697 704502280 307345084 417524957 964166954 956069734 579797479 723778662 335748119 126891083 808431394 538332033 562414368 183271153 418867028 150309546 350172019 491857133 689164304 619681085 526000736 573073520 620347279 703322931 673211525 571299586 565517830 333076488 205209908 106682565 109798939 956127918 577474563 614873837 311272346 906784035 224869825 616326027 146702005 563026273 901022066 873871615 254613194 229261474 339370636 738149632 966498724 287932019 172776488 979847584 203295090 664593448 252470448 737306642 756485469 781076002 580311192 973093850 808226084 242251938 702766473 555464988 626083895 711228661 176604702 516128468 185149274 648475417 483753863 168283375 848953507 614718430 604842609 925782671 782343333 620602308 963007077 516177687 622538573 761844400 131238990 902689520 427072679 813537614 616047113 175726156 963188323 158146192 318041737 159938450 519393018 607690221 189074963 359516580 196417291 424091009 377469663 437286637 557151271 890452892 893646859 164588306 718059255 138498545 867085256 592897284 963163286 364515639 815418689 319422002 151601344 296242456 185159000 968413309 836015010 805268966 775192090 128917005 837693905 275641895 653162331 287715235 357764374 534205896 992613904 668511806 158137810 729605667 686362012 849439053 913084453 903092932 638909915 586632098 820628806 156451712 407455900 428335891 900752591 324642508 396430628 578709354 727671493 193513026 123473142 365984905 787243263 679635129 115120636 814441732 216153250 939475030 400076553 921794515 345168018 772356791 404844911 255373165 381151706 663204746 191418835 510646161 311050612 219454407 991468039 118151207 867190577 232657510 266302498 837407549 364569601 713628662 912572204 294673181 430945600 744452048 158948270 841815876 287340650 508186759 545032120 493420077 463154560 646844982 247093769 408981349 630912073 817199735 678216654 765217223 446712869 207147215 114865029 382095829 765242603 281072293 993736046 223087578 313096239 428081052 937223927 844985135 922963027 477620615 871362915 985886617 668987178 640536337 651920123 369436871 555303458 901623667 829995334 892415483 206067419 221138469 534516660 353344880 900948195 536812814 523639579 317380255 928678086 870051626 562476618 865315107 804800608 254056906 393792088 470341875 211905439 362649983 579296140 200916920 293157999 359402862 957942841 347662208 145651059 699688640 176868341 166718211 354345151 927208837 652500854 902965454 123840757 781806498 217755567 199854052 912799685 488150085 245342854 145401927 501003456 202913244 961551638 595819383 593662209 746592712 643751086 673273482 598537036 491102091 288085966 159844875 547956885 160108079 661456288 798705049 622948757 944423514 951914071 822105711 250640431 802695815 468406837 298407920 753052176 988925379 436830506 441605756 339227495 798645435 906905660 476641916 213518053 497287718 636263232 807865384 187040976 968053756 559752392 471016094 917041388 237897904 275680159 310676714 729670666 333653652 484632946 207715396 344606414 230267405 191499409 298644496 102866818 501299629 952944356 512931369 135197054 594522245 532988579 727421535 141940113 842531856 942851936 739689647 714967352 593897819 651488977 717209184 828113844 465907068 830847541 487005482 517647163 789790449 275825089 676086148 173918723 389162442 485718555 697779280 243673441 984468587 373491654 172657937 525155698 399127241 867554339 649815684 786306360 565004382 401206499 918022404 981133671 983286702 498791910 417991653 184595585 720352536 430803321 941667885 611012306 281696745 707981602 692442442 522239757 315567663 570075902 813789526 799876581 299017537 643864751 906720185 434681649 558755054 712342984 802470442 287148210 724716611 964428678 733739341 445061472 889091721 207534237 405170876 737250719 591038359 126294696 885179371 644674860 288208510 447602143 466501320 205051015 397663372 728804782 885777116 457363298 619086717 275083564 723733819 375961375 876424252 265381878 637609759 154204660 865766270 418883803 687666108 706416309 527800537 552898277 520599642 726864983 359912441 720640987 937622102 480608074 213727857 541204429 709095644 667749695 808834782 342269469 547497918 267741304 253192665 106304379 347586427 978234844 341640108 469569746 304006831 633341779 143552609 631653025 186545567 987519766 706996916 849421955 445122429 127562102 815272129 998592053 623453811 957583623 413957447 726880621 533708649 402871611 447597143 483311339 786296793 801509743 639420900 532706629 788700014 839128296 459237797 280304455 415097755 751823553 226158463 136247430 766610693 937005585 514957772 981049017 967172527 495970568 694058457 809350534 472575419 383616929 898193792 439847293 591694080 985456031 127171025 499067463 890990968 487410338 708700088 617307237 895779467 185373516 116317482 466799995 609534522 769974609 935347762 627431178 244754095 337749212 476183618 497281824 144524889 106680019 362169716 767634105 502882293 466514199 429050316 535197876 654123327 379824005 872053495 555048387 844776009 321769758 780970222 229294900 648066189 264454833 907697240 997461868 847001448 774535387 360234273 997649116 490341145 198998499 318231267 521951679 593349841 272187135 320098851 265926982 179938527 450669517 247135976 577583688 878776443 603029265 982705764 280382727 980676098 633704108 707111924 864288461 513410096 250391343 373084228 101640796 207038518 716330883 450836853 430173457 839744279 745757652 932089221 968608392 330540692 808598790 110053075 372427472 629864590 823154245 754178110 909151111 906876047 836000054 478325294 786786930 374576413 420431213 572861735 918220789 676891964 708062248 380565220 269643204 744573748 911558999 116147696 862592747 322016110 524830694 633301078 422820706 646359450 613630316 907284047 278799196 812437392 473798113 827331624 574444112 410695858 383753163 935532598 875212720 432495428 572656063 469683302 931421721 650712581 279794761 971697904 105171369 918872390 272386742 651866065 956006780 584588574 618346751 610179813 892927769 116576184 703610925 543318345 736597321 365772595 297581386 964027773 180971480 507812941 435022196 428655640 910833091 116728501 192955565 106132234 917504150 483282382 724812170 189048445 643148272 410704224 225108610 476796105 794735078 364928814 729243785 174306692 194934132 334110041 534598700 709734173 579340112 589737709 476962706 784225905 463282063 714592541 532000874 802180430 706305332 407226085 130365588 231007824 878412235 542185648 531124459 631872346 678734709 494036287 972938423 506593354 658842674 674428664 629189528 151751639 398322787 638076069 997009919 458273710 245504331 668057751 262399460 915028793 558026058 446945250 782739654 191302654 468734101 550569846 825840701 526992770 644419941 250667150 499392920 556509237 189410157 228145309 692426675 523940098 516353591 715382106 846786873 392464778 549932063 489725245 884416451 464237303 716252302 872246647 402140704 987935877 848446857 438277155 684330565 619691385 542497253 362227178 713521249 754657403 600685039 238093414 113826096 957058837 364345007 554479936 579726776 373180288 793900174 210680758 945376100 588672836 742541700 202728884 835545706 345919862 158117445 920036376 753228382 513517411 252874056 804123299 475898256 939132482 866163554 676370857 944705643 438320888 211733646 516966745 143978157 105039722 536163903 448763685 464902692 275858569 146857639 740913180 641494100 427690061 723864118 449793315 849913796 789635083 958497424 491961406 591732637 846746479 373556050 241639613 629388477 912226820 705682090 871681250 462444272 258454482 504772975 313082466 416264134 577916383 560128516 907426725 539461673 704531110 903561577 661015142 195841270 763770851 619726171 539806850 744755469 662855128 329621310 178278965 712092804 800231397 933587066 192328325 578202018 574361515 436458260 245660590 497821122 922425837 423877400 300162353 806327875 533837656 542864357 339242220 929078530 369645608 503017723 451323386 615566141 913050725 261077765 480094098 420772255 672124632 374222692 463510046 443306345 450039465 431203276 358956038 884857581 673094266 710636926 446209973 840217965 189499525 664870821 450752639 866406004 820801221 274970387 796787160 424900785 720562130 909350656 987544188 684166477 851541855 102663744 771290660 602903924 913072956 364151866 938407447 576058440 155938214 787546935 142693188 137899374 861286831 254433313 873488713 615794730 741920989 312525465 642963057 557943061 887337415 763307329 274564056 653733245 775708994 688273521 308811013 276777402 226594256 985157617 324137035 738960381 960737043 854757172 723208964 491120807 502122431 163691369 234905043 388004086 187128973 678874247 807401692 988908495 878458501 351279235 164067689 140125217 370381335 763399237 761212645 527751182 730812229 663251881 644040044 992979419 468184131 336574479 781006306 633146908 460995178 110070504 422990844 161253233 963453843 584930717 699827636 490262269 818317308 971923334 374210225 910547584 528340041 560872651 716732381 199021249 208004996 708014877 341638292 640898200 890707912 677789242 405205391 324055384 997133742 442680707 107600541 364230826 745022386 814131538 941259800 540374905 629777005 523204945 721909511 983646239 596839609 159321187 987710620 537935911 148688634 100535058 315241889 242948237 883379838 586411643 597624641 460028796 327710464 970256143 563258990 914818848 748773673 615575925 624216171 924435202 703691851 928582345 679191222 957272114 230450792 327309065 806902071 917304804 297131315 381121632 825514423 209024289 361351858 632613143 444969120 548234629 455549378 268788084 681351313 934151329 723753525 902833768 830345524 602944281 456097967 725510084 441055738 176256655 802348556 655658001 262098066 365982938 310854174 351358828 750389268 943068160 241602853 896910729 449725107 373668140 966913444 977340604 809305758 690616027 686652677 302038512 239556358 435998017 782059264 178511836 794949182 512918000 326282605 687772270 856258923 275814826 152676930 489850629 948673684 810630158 147947517 425205521 648770944 575912567 691588440 724460512 426389802 860989994 613008970 128334751 536437644 160090732 946526005 704647267 421543094 396005087 596452971 651490608 705289998 515336392 593342524 155922062 771341714 693293382 222521725 447237152 389299941 665921844 144709074 545101227 546532188 952902302 808672354 448990884 535399551 104222375 618812552 151115198 702433810 903815428 497699739 593748853 816191278 640006069 997480693 635448069 672934815 423621681 848794441 283114716 251906868 269258635 320834515 861439176 546046793 717556413 648821379 184383596 872968096 238811253 546062172 913543802 583593227 542866518 266818673 807358256 753784478 189604886 407098915 775346102 584247547 303430444 125822280 262288613 850144666 274541017 436888452 809688956 869917531 274441578 888173389 873765726 754734967 726064535 794060281 505993744 454635036 433769908 412744192 548373999 162331661 671384935 773506300 426445339 458671102 450139030 678882114 185482519 268916574 743262313 586029453 678885467 373055986 660819427 368136887 294675511 841628987 668439949 333665059 798112068 288044792 253828449 845112131 926003312 297322113 251481143 707866516 785282146 893794981 874408232 278007190 685293747 430621728 552947472 507031821 203826982 836572727 769778656 264727672 368568506 765909137 392307962 511354271 470275498 442207745 724733001 517518702 202032149 396357287 173601383 204262347 392175048 219638418 620724330 594041745 253642753 340250891 304098557 706528071 154885169 652703804 950208046 519729595 889767776 873368234 596165921 735615658 557116514 427958785 606568552 966033564 621755091 849847556 445828543 838696075 833733087 191543380 853875359 624913143 296785305 931633389 813247260 823245679 968787642 604537847 442196736 575382003 563295775 293137819 639572550 923438692 908814475 426043613 592641808 641849538 223679236 472731497 749007694 372594292 607599732 902030703 376871287 759897863 172871323 881945526 974617592 424194530 939484643 479452183 431626786 139373353 435557309 644725280 317656680 834472700 212051268 732008192 170547190 897615433 810927664 335776236 821070739 581141371 755357429 522863644 480441952 852951587 758070039 585714405 781639849 364577062 608577023 933441033 334696779 535035513 386581580 342164876 990856006 978905565 391904586 214847110 749187554 354108475 360729904 910429225 297182376 377971498 702432936 335811743 387765485 990389225 134550925 577415031 943955458 789931693 651809083 678870319 139435023 398432182 181067873 829073668 165039373 655666354 302873847 962652491 434875090 895768444 449796718 490984220 413949910 422150501 415036035 585391428 672152050 441460959 737953522 587426628 372502845 134868418 324886583 343034422 992354223 883703942 611131801 170867966 781630437 127685291 782317862 634644303 799988353 233572646 227720475 407444277 941269826 740562202 682603963 887039651 651713969 911058187 561366251 121127643 621018504 533160845 120510732 986603970 496964605 430353645 559727661 768176085 525229790 153440491 879405014 969184712 406553272 797070114 607136566 605918302 448484493 647046716 410370693 137039418 109287290 784797807 713535089 854857741 599713926 281487259 787390470 501843380 575920710 647589175 478330893 445322621 180257485 926935934 847326465 184211666 922975228 857190928 875499770 322876889 916892289 932026730 689069183 582467635 728284749 172953678 789317947 290477350 865941102 730819577 446223878 496165797 983022936 568492278 426706088 839182897 843842024 998521209 496702963 904092473 685964470 216046845 701685097 356991054 757235590 370209871 616570221 857626703 364604622 981988113 294519392 195104350 797658534 318813948 675021767 832255919 386426358 958145349 951200937 303278541 439773980 434411802 862579865 683235987 155176525 501483100 527528542 454420130 512489155 754328621 393952695 380853305 225970350 705403497 366920401 455891178 425749490 986402363 384015543 299905691 729258361 207174973 471745741 553084210 260621030 855489965 579587143 542412532 601718737 188458354 904940941 369653862 778761943 727652187 472011483 164662756 110402056 720959094 956549689 914350535 357415158 586755899 737873162 217358462 481011364 200103204 771574164 392607405 313278945 909192294 863025418 365056978 458961917 555741629 595154824 160191839 817944397 578231974 505567106 986303410 156311193 120397468 333322535 118058079 808158660 625268873 809787440 370534667 816334863 365582968 921539401 962206445 941319550 452471736 522408279 974464740 622805412 386052786 490587050 178268374 157584963 388194802 618658481 109087210 862154737 879904621 190297948 382833641 261762664 947087354 314224741 273884723 660150647 205441931 802574166 793451821 569741200 101164670 680651401 836778452 330361798 651219362 536286803 288381076 493746279 587858949 334097912 249486531 140439101 527949310 543010370 145337490 388219643 954977954 348309389 512970828 742882169 844734397 655280915 569010815 623649560 541004108 493196995 750354625 667024307 270938495 836875436 759192232 858819320 332791104 953991109 825962521 412624708 104275400 121565794 854847789 198207463 224360049 849572700 668724541 432184831 660799679 462795429 432893656 190435236 801198587 402181124 291400031 538447973 629034158 242813999 291878610 513384117 229573686 966544823 194929953 623095972 714864584 153580825 450328330 265094059 576741457 773110304 369908231 258303557 373959746 383744449 749623206 929858659 488904511 641786767 120059132 598617962 137500779 621686374 903230498 446082911 964023594 442591971 301481873 621065022 502033277 823109215 303972271 385831357 902564162 995993359 433770378 424834394 844181475 498667867 514273434 518153057 698376094 748020157 991596464 295549205 444289765 769353091 898842870 339169287 266926401 415119192 942724523 155390464 753686664 135687404 839580205 616450104 455041742 323737265 543800500 196349201 146298340 916329428 817098320 705697163 892716358 470025498 861640456 886155885 879213988 384615895 396574959 311230167 105152978 627104553 500483657 111154433 542044099 652933380 646038513 835341175 781458257 832463797 403339785 290293401 477456058 453829722 173881232 730454505 951443896 658406760 225648302 619342013 335252290 542665693 390309563 935266031 958502758 262105893 283550126 186636663 709479475 774701402 434014274 811122414 924301900 990737240 306720661 794606827 130218390 834622587 879284394 892011169 347285858 107790740 912802803 650418141 619962817 315414724 877989540 883782092 417247107 383751311 100869934 668567156 585932316 218032885 107141350 916254923 511884278 442659878 827454424 569300611 173253363 756554647 296562020 493916387 959461795 132186811 308681534 393229816 939562005 747828732 739944594 503604778 947664417 689421837 677130302 811661938 742634911 459737510 748008643 784818602 458796984 855541476 299443892 806244449 469781736 239725388 174755062 283540286 523577699 701242777 126604530 313268926 956414335 693082782 711023623 180894464 762873374 355540331 583498757 313219382 361307522 943573464 267295165 173562980 637320542 291274429 740341072 641451838 913869314 857340805 384609705 827044624 790559921 572846802 195943396 734870600 725173654 235992629 320578970 523328259 315932875 303086980 129969293 452404944 997999137 722814020 893754916 849025603 814524965 412040162 861871591 747620692 714762150 120298891 494828321 829608464 750190405 238629550 429814392 704681782 718529180 100710698 214214581 884567930 482461416 723447239 433359026 221854759 972032988 592881652 849987501 520630755 321658601 571735815 401962600 532139440 599462580 560044782 307258419 596763038 538536450 987493292 607710142 696392576 852380821 995767356 329000482 626344328 565191887 980724861 199998987 258256772 943731920 127842839 479031916 284169164 521848149 570528947 511241543 698262332 466999477 272691180 278996778 313129193 988766093 184749220 873575458 795164672 381107819 901319642 668084825 792518559 561725383 746018549 835583081 353673607 308429325 321043902 112962530 352733104 639198357 406675962 154886097 366646510 439499191 362539024 620633542 420937573 408498356 536079187 996427256 699374372 832421613 261770753 491494996 137924343 866359756 409042391 538273216 804887459 727678378 701240655 396395715 393164974 321926356 648477904 546170390 878622551 710991483 967843584 409614328 179263599 458815754 259648722 412674989 807320703 363457575 866590250 484262987 226486552 241720025 215123360 762333648 962705161 418453707 191729307 352256020 931520170 359281012 352400145 491859669 769528163 113389621 744821407 487909851 492859786 649342981 429873263 575908185 635012385 972096503 369256865 755995789 367807596 211339840 936479905 332829851 906505586 792264550 441014194 396276090 343878808 587121238 457540504 727126484 407620721 243694626 589135668 426939947 170715235 449854261 932941454 516308017 403557243 673232709 124022578 961088208 642750217 695823812 507362941 298692403 334906356 205207748 142021109 914144298 919136101 380347770 757281354 984298107 641066435 892298435 953002669 290958029 801224015 324172929 475743095 946994826 955864907 107307186 313027814 617515729 776139355 982799021 106196505 799943017 529285717 203047797 902795089 316260328 940507446 640274812 977063065 129780355 675596973 589360839 310147013 105803831 239338399 932202352 587147675 717135459 911870727 191925760 220481578 902613174 369604494 108295924 536907365 843803825 798834308 295907816 167383561 751716089 144559486 869976398 869073963 302621012 763537319 119282688 274211061 648782960 134107782 803563373 552232863 242664598 777046794 963345600 433048522 591100956 881202525 254560319 190258034 636483145 309239127 857950158 666976432 504448377 777383429 926587756 291232833 549145722 737032621 644909973 405302225 876995912 691574981 337595098 934610085 223207316 277730108 633076757 160009698 515854139 837356172 670231470 662830582 274454383 457187736 406189465 104731951 402904542 906327844 710402148 682982646 956439828 790991968 212170525 253844371 761504229 592091534 520751091 773888637 404074576 103154240 589228290 569393362 147986308 594437787 779904577 871237006 805466801 452772985 739866451 938258222 467147634 417743517 180514334 630130304 858296550 917832217 607655801 758242269 270491361 775729541 637004886 394219841 272038000 353282340 826758200 868888736 332308532 234009034 294771663 956857214 106288615 662856350 644403421 540526577 853026945 129266100 206328985 167017549 913229010 645382560 560518449 250308143 905391768 611243953 106310330 266250423 966363621 559131060 971612650 558716432 963145507 626323098 889457664 150223333 823630188 914877837 706689231 532978659 230769908 892178225 899064927 763700569 700148948 299759542 564240258 951854165 786970872 256127089 381586722 708072112 295290848 237498075 876678434 443105442 449954629 792319525 883910196 553076940 961202967 528631664 141962904 595009736 700305245 962255014 740460250 976403513 287793630 248835044 279739436 852985783 718492094 744121233 965695205 265972105 646747267 913941722 367676048 476719522 835731676 313611186 714388101 961841241 355100098 231314623 301374268 693245803 594767870 136766353 901234891 296425503 806627297 582654306 990089213 625830762 855627001 653518966 426116754 942341937 991416827 440415186 665719914 830781535 106202974 885470801 748331048 466207244 176317915 929447241 887932584 795384555 626302445 413630833 428477387 211698041 974193876 951026006 520123711 338493152 199353650 739014548 851045074 799106265 796178468 874508909 143538660 485362776 161273780 457133387 858177283 813470817 228117164 162151628 506007533 603353906 778642823 281086855 334579023 530766772 122250902 690403121 178050922 102342697 550461529 814661383 823035574 747144823 933034957 882426103 330615104 754440173 339437535 331958183 333725970 901988653 636853579 516974412 852511116 626644166 615908795 492872272 722913246 983367069 826584190 453143547 272315881 997924836 959561814 476834654 698759004 915466818 379739240 609238751 950704398 190045802 839129319 387446654 237165179 981426019 167401007 747110496 522874202 308535354 191740176 934102065 637239784 151584622 614798595 446177722 352669809 245042483 448650153 228388068 543758157 302546447 947692130 154166538 786132908 301537007 219509283 418127412 673904236 770504141 446726022 181829871 981831981 843873549 768320856 210748355 544042087 317287524 324521931 167690279 381814541 137569239 929158352 625200391 623233047 370583443 811608379 558460649 787815200 585580193 501075218 869691208 763882259 183593203 173700232 369490468 810869214 689805132 835072301 462907012 967728270 600588834 595748530 921723221 204331184 482045853 896272804 759936987 729295914 702196263 233364664 786561825 566201709 769127532 391284243 967037419 744595674 889003441 550992545 963367712 247881411 197053856 790072237 314874187 812341507 219162564 913152511 313679529 388295184 119388092 535823534 659099235 589258592 340399591 260251751 224504532 918625493 650941683 943406787 331358128 513079907 365006333 624017034 921404579 680558568 711420958 512060924 700399521 214469337 361223713 547272589 529098591 791260695 715676243 707597841 507361292 950220670 186284667 367569565 236933938 540028465 757089630 409203600 446703320 185760119 239153721 383923966 697816205 656565281 264285231 772095712 817027773 645927122 336675850 501802707 186705341 566572626 359290846 519394825 441418539 584370579 927404185 263315727 475408207 865324058 354873364 785906367 782321773 714273802 593083396 251518515 930048931 356675859 378565756 699896354 559684519 743379559 273292231 441512989 438068906 487311936 854650245 387206837 166605260 146267846 971485570 745708491 128676337 735842661 423197586 260533021 199500400 154187086 408008808 697714299 123266157 772560208 242806475 446531375 458601845 172406525 369462084 167369387 186187981 989604791 625343499 587546854 152124124 668260214 425568232 931976241 721300633 138222584 486280108 908457704 894186223 975805546 878547372 265122960 890593974 977209939 832094869 428740610 714379032 892563323 106689840 642370203 702926977 953866365 869906601 951519905 771242302 436294518 876315197 728119563 555442652 819604966 318222173 905064924 495428714 831377656 739994550 452001758 160960050 520892490 261225728 790363802 101593233 946389140 670187288 650591695 296940932 616569739 425565160 778263176 103415508 126039736 153281403 388325241 549709678 387261145 743872337 764480271 521147994 683116746 751546403 747320349 689551459 662932237 830969645 355601208 451353956 910495929 708342520 374786368 671224318 209023589 127958633 430272354 688998912 270574802 653120254 246757101 443182238 130814676 219186787 921910980 979346856 579120338 746219196 897994788 745018782 209957144 431345944 371548002 586272044 389928796 610417395 829604835 389902486 550861408 837849499 746675103 669285908 372233030 109542578 404628432 130541368 853575746 384377512 317303684 787555750 419651059 388899396 200458626 483737499 936362580 135351696 537857369 628230338 487095546 854823491 603310394 415577179 298422878 730386966 879286616 270935932 728608548 126068683 588632017 642913075 402779325 381082034 462959490 256510303 773683392 465161082 166497662 340363924 851395598 823229663 717975964 972297410 493982012 407499825 887552475 734200081 590279876 706616013 240534899 435256832 276820332 613669954 656996902 892299797 824204438 179951209 110417955 832461235 507639902 346867912 746100675 925393075 165027123 319573989 812851776 222367623 685193918 662976540 373070967 228604039 536684163 618440013 758097353 811069239 140743337 157729929 147016759 108910194 800142863 873666520 569581098 669728677 877536216 986090869 706654574 544029193 384763404 185867432 433920069 331315432 495675311 257625536 519048358 734165597 311911380 168838309 100432899 275309947 972205030 518215374 388313005 907164560 139909673 753533086 530046115 901113209 895549166 972389439 885739029 384015471 897619867 654822668 341329983 316631985 580415502 577950556 143381177 224764413 995730021 441584301 396435397 710825254 934702646 798423037 908450443 210358542 943458962 920253857 976344839 237585998 426190769 371515715 837151377 389388727 643696818 613720964 356111302 543888204 905248208 516679873 649374905 885066365 190595036 626249906 945545056 447718925 228803554 169747793 245585803 615560642 210473137 953698183 822100340 432573763 937618457 524725533 184939720 488806782 835275366 783739692 552388984 170592891 199204606 502590593 213625326 107257908 959492728 931424230 413149196 267759399 983867671 144122911 524857417 296573660 979389855 135652995 767817633 818954139 873456560 901674877 476081306 170932333 727900399 112722413 814106598 467004842 200569121 530040151 212285027 242546589 784348467 209669807 270955081 474812455 811557366 660666179 345615958 985825015 103659110 838403032 501782423 153594525 835436814 747249031 839173699 499204730 768176366 383592411 253725903 722192424 645407478 303065014 823520442 454240259 255044373 716336906 347596664 806311753 347918818 805679233 570340638 239905548 512786752 526963595 202620119 738048328 250685177 405309368 130912996 201499620 567104680 496152469 811766961 541529388 859154888 414718433 487387266 534019232 238182504 836074592 331682151 303581711 281733788 674696877 160806022 972405202 198938890 713369853 678159241 766309608 108813335 952150726 960672249 198336168 892666508 456038229 486484092 477624802 276926038 389947625 709632732 908809327 775552931 639170800 481852067 206963292 754362046 567637797 240377069 284610345 783919468 168261691 141790791 784218767 284428381 249640798 390357212 360142186 956369568 916954478 149473452 903154077 152908351 200139629 155872480 207003070 640907193 609669321 504883529 664186608 487885048 733341712 500733680 746356939 118087170 794840514 961693967 973936655 860210009 265905217 875614285 697149156 645299647 858034066 264454539 303366313 729167821 810864347 278082368 446871281 658831749 771396103 965749571 935793581 188266629 704145227 935832000 928665494 818129360 984709398 408279733 797225361 216423737 478668224 427139297 511253894 641821530 634106931 283305729 181787241 992830081 981756776 507687224 876520949 322907438 234383327 938063960 827463927 142357845 448148881 466547723 507202769 437466887 368083408 554805095 707256150 995506919 766117559 724611926 657565500 490956094 690390299 900387132 700584455 887714401 517697090 796444943 623990044 732873429 610287554 232686967 343894221 965976048 235581495 359035025 733811332 622937110 654297317 233723737 292618922 928131105 380001599 644905423 756941131 151020998 735939652 857182988 674527680 481886663 294968762 270529429 503834673 383575700 756342334 609181614 490674604 690065038 944115162 415149465 368364350 885045316 412128353 870497738 220569672 862318087 950440143 693980746 770098921 332551346 603857933 678701172 990310438 767901181 867555911 277232396 686094406 464676616 490284703 692681070 382281887 142992128 115560309 439215654 966131052 749005496 698126491 191433486 698245349 205607578 310178159 705040011 669551442 768354026 945629298 675770180 400211659 706790433 563442874 168131658 179750148 338408384 263159318 150180217 896306721 369392517 709695918 784103201 782042573 236923843 337281316 966946072 363550219 252498970 941311620 286390425 392783636 621380732 497712374 357218870 651770784 625690971 580483158 635276250 287912199 923701802 375832672 999533187 181158088 471634351 262514883 943007741 503189969 207125323 437574518 411529909 750987106 948818130 990705854 894513037 505186260 685250412 587119314 884499963 922790996 868430498 223897861 664438901 587380099 396934402 921338340 439151638 725587164 967297008 335117466 725955259 577655717 667460330 917987790 570540561 192375228 426062162 965953784 145157993 564699403 692914122 955624433 308336594 430898653 349641210 227722501 928276331 170229447 854406424 242538011 707285105 491991171 851535111 534820918 830065838 520687268 643269978 221322832 872703504 522076075 498848230 590480341 411217716 921737281 439644823 753726870 186879167 336152955 296732067 276194735 202920610 502300882 761061095 302622151 660481049 553039108 383288619 646302691 487862012 298565980 963066635 526005457 330083940 248238202 630933490 979429335 502823354 405216852 172930822 239552627 715835098 705906470 329836190 863273266 483523350 806444174 786366379 262563482 162407652 362296338 416685937 628445345 824844409 418375730 729311970 732437487 547379055 320900598 497136511 720088495 252382038 718590046 477155349 617464875 192145750 554274795 206949014 270702054 703787170 840096707 846913986 436458563 162266830 395457533 318876210 222343644 939281327 258571859 428962613 202390575 610577368 187514077 280342543 307597811 987224980 882008289 645608113 384141816 509298218 505490411 383026716 100631450 967148485 554891042 321252303 664414935 779770732 829573837 485356143 258017098 466789138 925970280 204048309 740623885 600268572 550563783 168717750 970150888 257628422 127420171 827045423 363864268 795177566 861545520 442834486 105349852 763401588 510248529 890312983 980952679 463243676 176204503 237564640 333096773 272164793 416919238 298414494 326689751 813499452 390166903 581413389 831203611 352656177 387359357 970643992 648666790 596460493 858932655 642463221 627084549 777879680 176603057 840320719 828016522 981959220 379138701 210679282 508123160 953833183 259565044 811685838 127474021 843810361 951302624 458192542 701535108 390857138 319202628 377144759 264030628 580166940 197964346 750182062 163582932 771333948 625546994 384910044 319040085 125509562 399452294 829108343 308346596 546109484 574530803 403979796 664830255 249844785 890745515 189165190 753735432 479340613 228441051 540174457 118356812 779533271 251989143 497628997 298843465 103932112 934334736 943787538 223882257 172796913 488938989 139029593 882371089 900332763 459968023 833346795 912247464 463269568 491002500 431842892 153214528 847235774 951018239 723093003 721873986 881710624 149800769 828830984 976302638 470571570 777543738 818407245 966184428 579483002 495904368 427467732 284856911 654031946 631842399 388771214 604150312 793185852 505069892 132697008 631823258 417742409 599643429 135528413 824555428 887384432 509642410 422001116 958907458 485350181 160225740 852307585 381789551 808547531 174570164 724802879 868769488 782099868 626461829 234513720 399242122 654560997 145823257 784829867 326839486 782739213 888112767 916265040 938719451 210824988 683744282 779812978 273106277 951323206 787702209 696141926 905324214 924308124 770372214 449394678 385788747 386332231 644201507 719235052 323762359 490527141 177576717 214427123 909160767 605950865 521546995 114509981 649866987 490521476 708152010 489044349 383565160 990287069 819824111 111493197 513292523 133287286 533416304 288737270 361815006 906039220 580602973 129582515 541118863 372416500 285408231 414914001 730390700 112682197 180375029 109630622 618238918 179015104 732132039 102596194 961893565 948094095 331925186 819941339 445283344 860780665 916129513 423601215 544606192 835334149 690419501 876004159 984181304 641088950 529343711 293233413 761740402 451931097 449163291 450397475 283132998 738512907 122682443 397538734 638027589 112255412 737688979 314042770 305872895 641451965 277325449 361659577 559837306 999706177 607998858 356191627 888542315 983514866 562826656 807465590 440780192 929177536 409411722 697639772 858567338 143427166 921344225 314186242 818178897 779190505 449295267 795980154 626616585 876487030 200172259 430769248 273819494 381942308 339639691 798620782 483280299 111300073 630298531 254094935 981565503 219521873 854949786 232519199 822614282 388349589 276183723 537495511 195881580 282446046 619075517 123411264 581095575 320729350 218641083 457848504 832918702 175518651 723860617 614259385 458879431 706344697 279279601 437047491 880294937 313648213 973490662 838567535 727728810 742017651 835425550 388981246 924176082 687244360 463799551 240896219 101667302 703304476 250108343 718668535 233997292 650466019 287195269 478315524 980009320 311789697 835325538 353121095 637898591 391715043 712465344 345306042 320068017 468790573 160685201 201810803 403048277 729356530 146700927 850641603 222051561 497339426 350975574 649675250 256482674 471901221 802288683 259060840 216799263 701324156 670288862 399942322 794385271 440795994 588697104 975817737 104143005 473040574 404572927 749450257 138096585 481806187 178927259 327251945 653546681 515164782 967312871 528492496 546440995 532490637 210510458 430440196 309981616 546714930 399118625 232908263 585976504 677943823 360309027 866586309 456801979 105452649 665395699 316071189 211348428 991166436 446445464 676203111 801631090 195059594 971400407 971107311 970816850 612448828 217240509 134880225 650373760 919386246 314571356 232357103 705439487 595681846 162865474 443813865 897382105 241217243 671139236 439609648 597745270 541144535 513241666 575474370 876532704 196205626 908135440 251384758 752697291 854129062 323389521 992376208 828184473 632847320 334047415 619392322 145823859 894096304 663119236 349112715 667862505 785365109 555335136 910571654 366261320 311405062 216993436 285482831 773077974 856276517 750754529 602358823 792341857 926547714 996482475 958567986 364711791 366767116 841638046 937413189 339159402 219564713 464462822 464136507 649483028 999825816 594470881 278066646 387629812 188123586 123923097 319616161 172954162 639918323 969967707 127178064 966131096 876992228 982196687 239429720 827185102 173447149 804955891 997542118 295610029 691094189 831173392 686380003 698675974 400847121 444456267 250414895 716967855 293573741 899620839 426747939 517254932 960509704 726091793 776021162 131437479 393425495 609705020 920716016 947958947 289029251 919788406 166065435 545500973 274738003 788236119 858095614 537017858 989392256 419293819 813515350 214028949 746692689 561498166 505905016 352886591 452737098 383695781 655875548 708292679 837983357 865959179 906171004 147231877 372176784 237809143 863615627 562673107 666262177 777032283 139615087 566879894 548746728 506550051 977958963 177538221 437131774 370431301 932012477 919167281 506513695 715185192 841804122 243336315 894127973 684343269 556868312 292464636 464326176 246687005 317248897 465976727 706975502 945630699 962818155 781332832 226386275 829026052 697855429 345126364 162388666 729389128 587317724 165099151 823953189 223904905 350868047 347886970 243640851 374639543 875234479 777425162 524183391 409159106 168151745 521971522 205160020 395833335 946330749 277769336 733090369 743339259 987052204 578223788 871146671 510095401 976271619 867897450 116638704 818739526 149752922 660133845 266893730 776544867 232214902 748275765 355886375 490139387 321397350 641139574 619691535 598164699 810517438 926522699 775493467 907655619 220703355 485442064 943612235 741948635 467215891 145589600 259753934 580828760 358146928 537706374 939387062 867277239 951908455 261476470 534150875 190850565 296815081 337374049 274357523 719409466 971849810 234490737 616033028 376055880 374664927 308532098 129145844 102523471 278711124 771874856 413005960 135349105 320343264 734837397 977317484 584088279 609346408 979596700 940715900 199701847 756835010 325297268 668945327 412049276 109448521 222469733 533138077 393883395 926197846 254515436 480285502 915260090 407590326 695718757 377711069 260116466 945897259 328902739 205856515 673282487 651856768 356204364 275771270 752356027 480031900 993151561 241091988 662031304 824512772 468650360 627678199 734567920 840636491 723368623 260242829 238134102 360109521 930435314 640584110 709081430 416302635 890519933 488807307 441640128 668345713 562366611 893662609 386969890 361434782 676359870 477165710 443715738 361230298 298575520 144055896 298858974 297405675 907169268 489768759 874248605 385935385 831508181 622826713 175815094 883221737 953403409 463807044 745528183 588220901 685306926 451791806 999350530 179466139 646247541 551029065 808880967 744905363 883772681 111827440 827278593 939600697 437425992 789601579 588767561 988684998 666154298 706388319 535998077 986687859 491345429 170411176 984301663 185530383 687951652 759415965 893073334 386560958 412179857 147921414 666397324 690772245 257556035 618775038 844880520 461032628 610103462 754081348 958503743 829579341 917575169 300984941 549764410 973869511 805071878 737858568 516512968 938132385 673384745 977855217 319865574 566981971 276188176 964177946 573990082 558869030 524206141 930976565 851186831 208872615 303524484 707936444 682539018 274474710 102506544 805896965 729218760 963814273 898047303 185083903 843167176 857471207 651851284 815374757 683790130 978403490 751292378 743575592 314071732 562939559 203771406 698069832 919988201 900041094 685510619 518202947 879220343 560311836 993060605 169621715 155431990 163576165 881906922 399793654 359818795 863211805 494295708 802699357 219459820 413791230 464983465 174450342 704112768 262419233 597239989 962601223 180514040 496734152 674643624 768015651 990221536 925343816 321776162 890278247 660370983 151396867 935966676 646372794 523371900 295378350 551845834 119069134 631013672 761612372 476405708 807074156 297452837 569111551 720784212 431868777 834565893 811736353 395546341 510628855 218638191 350466335 662162786 724439567 409974221 577943854 723173360 418385232 184082237 335539416 210901337 353469311 316224776 871943278 668559564 928255916 636166445 384990134 311778192 995471748 430299689 871614274 437434483 534987171 971684024 695690792 372527495 814393842 734796157 714839130 276332091 232630910 763547422 232117644 253432488 997199107 732757399 413265348 310559334 501601325 116314543 272687279 344122308 605933896 357010913 988158842 507090233 551721178 217579669 195562357 298346885 966674879 261164239 642446064 547511004 383277040 683163187 778381704 190812053 442607217 234595342 585952706 747525239 297099918 191617828 436144165 679015237 828076470 124524967 724606981 937936564 201140801 570639877 356198847 542927181 949556263 633829554 808028214 327649333 218523691 489284455 380361423 696827550 393642345 237238592 754511196 810999524 239762851 385499600 503500460 766719608 203124983 121914571 747299771 264338799 743675533 935860357 811195208 841705205 496606184 522168912 226864175 897969455 973446781 537628658 180641343 919033034 537711128 267032477 760587884 969016756 994611163 246219028 202186174 518151123 695341754 545413124 638361621 383907583 680409838 853975623 694140176 274414689 841779447 314492937 514272046 887699986 242380363 865406890 663662517 733722553 258701635 440550596 617448202 772241760 362761494 861816937 583191491 595442123 558582803 274321999 314191388 578093122 760277850 220373760 834491279 605159338 537942146 669721901 248137584 962425825 710164240 580348127 822205515 354284951 192317432 481456541 339796990 738379434 682146984 485087126 918582146 614841116 336691170 681050039 799161722 108263798 259172338 996286327 387879955 287316732 135636193 489385739 661798286 913365256 475641102 473069886 633991255 896195398 932173741 903412862 972766464 246052388 136237143 590033502 496583819 105994517 491355418 196568214 562509181 840004848 445369031 477797204 103618690 296571541 684692450 351059226 825913076 730381146 882799587 292796822 521792757 967603517 910110217 963629429 545097796 763594738 780396166 399833697 619751666 807398487 879886229 580619619 510228295 149439539 810940186 589613849 120922985 577006407 522203387 598186865 658427919 727446957 530177273 112939441 381672266 901682668 501057583 862017071 609667971 778000082 741493054 488187000 863622188 211853670 630697149 657647297 564135596 264380657 650330370 666866570 698497918 478342315 864097613 885300304 649661425 415118915 410351510 726661336 136059330 841640821 313519270 966101350 314741048 255707264 799755111 999305267 651540261 811908517 114327200 480722999 646858671 499119963 499095951 140626945 188961414 682875039 625144897 149190139 595301686 595991092 628898210 571351020 647536602 213718551 966082481 873947009 603365513 662855307 184140401 971370290 472036520 953642368 490543199 574178921 976100449 378833983 133707829 741563855 835956168 918229977 491845440 795174808 569427496 470706033 103294695 893886761 476592868 256524515 157362416 382794639 650558038 529019050 331784421 734106245 437409266 499882188 933289162 127263476 307558120 529635790 110971054 883692454 614494420 219379924 184920428 996292290 872563096 426712178 323121369 875292415 269431403 885581286 236505674 373292635 562373152 888292145 758942914 473677230 136307042 960616884 785126408 241275297 304289318 927972893 902539543 102533534 296162824 522097663 827073148 772048821 662065450 125159283 902207109 272936885 792742713 143003467 394897938 477896340 822969855 294771351 395942309 841317469 208004367 152355729 168999392 133340646 878739552 167048466 917927767 719820714 748939945 819744986 310951471 457370270 315023385 460877582 789601765 293670962 745998389 592352193 929772846 120055281 518735322 850869123 577473681 358669939 920259974 770650231 825792503 666769344 947339526 592857517 672878038 311029125 652006445 864566474 799425813 416269225 601353448 817389144 936570105 825508502 495394451 978264712 214184369 899228362 646423580 107548424 191041349 761460941 862858370 955333932 146699734 797282337 710236771 249306837 733105515 885747032 746613104 127814324 149738403 171869230 154323787 829558690 885465831 855340244 920510048 716340172 887032253 823562720 987283278 596815982 460108685 176128444 125671448 261039015 791459362 658371219 780046871 616487540 723894742 356105594 946402908 318999812 388776805 957598854 877631625 121143877 467686688 503818925 867787593 125946241 873696719 730828280 149394253 846705060 624562631 644011444 439968725 491111345 503659681 341488121 234582072 594488460 688586353 746636614 120465132 272739263 370186156 380546760 620511783 580583667 625471346 766143341 593215201 133012477 997414068 107453384 139884666 775361118 629542209 630833850 956773556 407986532 959290774 505617759 101717695 329683748 515774776 598686418 265583596 751340019 489652930 293359320 573620070 510885985 267946353 192712869 436233161 691961482 416009851 185090178 980338485 668019371 182775369 152945497 194219677 315001653 659344094 746938057 498926694 944701190 443901743 436373937 114606555 320085757 110973695 827256747 893053659 305884299 983494794 976769411 986620981 235891620 676972531 676883068 492462890 931209420 684634872 896979714 595408807 646467221 176567199 905815357 428132904 705758070 606271370 280072417 257587663 531755587 342666013 289116757 313847986 185825674 124291890 111769441 562171873 564825890 354399629 825126338 515274823 614302875 209232152 846492728 312899270 508667224 633460110 999423745 362230545 964709606 924023919 900070121 481071977 613911909 807974317 363556968 570672299 471292638 910835744 143086784 941733916 424379362 533812738 582859544 597797307 368877655 177989693 585632280 345502059 945498536 705563536 191836741 140121699 431528972 942945286 576652649 667663459 515272885 297218198 318802632 730278518 476624665 281414035 490284040 648117918 380408196 321614801 537607543 385265010 263312500 556670995 850439399 721659939 858741698 766284055 186804395 737918645 117873149 834890720 586183023 441199431 565446439 501877172 837400253 179592663 421945014 964126860 151212375 780684115 535579524 568547697 999519256 804568865 372076672 509189217 834207337 348196545 102472537 867611263 860768088 674294806 878004711 773972216 465348740 689054615 715054899 880022881 368230638 402343060 315012389 514180799 881221750 661284726 514504732 353178902 450168706 745982632 773429091 307031368 626464003 844323554 127949162 428026994 686501415 287839201 605500433 110343802 665265224 522230216 269518179 969269825 131872543 483585579 290135858 250338289 474243651 160423714 805370891 916022462 920735683 148480623 279853018 717149422 717946518 671062709 723873784 284731834 259170507 393622168 919259650 640788165 612680703 849651002 929843705 859471415 789943388 962422696 961885130 218211329 375559435 881161749 360320144 794108555 891056976 254290663 834036462 436133257 877866919 691185584 841029482 125026138 984065008 702471032 634839605 411337287 563749942 563325677 529253643 629742483 470233946 442960961 235413302 542677954 580879547 503350167 228838731 192449645 913412190 875946695 867306170 654313579 451716884 948871339 729568693 741006746 633863420 113716300 166830228 648897011 785707232 736882263 745947416 502745614 286226208 647372143 858487573 300841181 651796608 239787545 414072078 606861631 285684872 849371831 196218579 851879724 741818664 632435587 554269930 319007911 228171457 697857833 385337017 503882440 142289528 855744510 214733452 466665188 770208391 995013860 900194427 683389969 654397986 409160860 641066119 912932614 428816256 482829159 751361602 168199003 841224254 978353289 660652236 888642518 750186024 176835062 723981672 545501751 158895842 491499050 387405493 573793057 771440866 638071420 977558727 674058358 426553797 377659395 800862030 892160060 386158788 138517611 767895623 986910581 889460144 208268317 342570059 304744511 400042358 120574064 260543209 247072329 901502953 227273467 798822803 181419386 567680188 160983474 506235247 481437394 857413994 173606347 326027647 472110109 645534152 467818699 497217255 127526512 712555602 443172908 942614322 593348510 971878426 705578508 771822453 628252606 255084184 796508592 543579974 743603214 869388399 602308611 625029421 259824965 445095065 188758978 579971008 486355274 959672634 258349435 575255671 922068157 582047905 952423253 263106748 679952506 871927213 575149216 542045265 453158366 596570578 923660838 575181239 312006370 464475666 397754610 150347087 316837101 574670395 806300112 274387754 362686679 781231200 699033904 895239703 951046902 768376778 390205605 948161302 211894501 361217705 108584209 773360721 109316584 980120432 340784336 930902573 570289142 838866496 637307719 218826252 383347155 479001736 859809132 150591407 991699664 403391680 804393923 196439940 706549261 764671305 952791566 145467395 228191039 187113609 777780578 389583120 119373930 821151036 200005873 742805226 506892400 123769407 138061197 419983704 860808107 953310302 169671922 750545229 968657282 617032153 418499050 976811746 360819293 462998313 303804587 825844038 414812090 587243144 354676099 569047322 283848423 314552246 103137584 648697780 559522801 697098240 305621692 422129323 531983829 453427513 995741737 961294060 980855022 118578388 952640932 899102855 382907402 370298847 708379968 219950929 238542791 122693447 226341192 847149321 773723008 575358692 840344530 743783773 291121311 568745935 819174665 475151458 400321264 271409772 148027134 340707358 583669824 757406991 651981269 890619144 130426706 737540824 441115177 588833087 413385232 863126675 579257796 167402851 112246685 922030612 416750086 889769003 599808662 457332899 113559803 199883955 437609930 165553525 799734323 564948540 361975158 196809103 940942165 915274041 325490784 399075146 366752217 528649412 695305790 341310226 156691984 418784817 539362246 492521466 930556737 853663852 259296856 214486672 354101202 609130277 953199382 349108803 271947521 569849105 239687673 133671367 520823040 732610067 380124593 295229843 767728562 314418001 163532820 332791957 540104243 911279519 534801359 328507371 599462498 785644335 353046870 505809740 328374078 863765180 278148997 925618637 734380471 835941863 629443908 686039883 963376587 575277107 246850140 546180439 286571280 783156046 880058106 987750969 819146648 591894501 193892823 572535189 226447146 856677589 577958939 941822061 936503390 115025668 230230622 971252904 965315609 824588125 918599633 713173075 458236309 365459449 693642094 721692122 382927918 312167199 481839680 158688554 979158651 413998870 792267331 823180348 703654465 851280433 476370134 523888437 782997099 220741683 117004262 816762970 274730794 945543438 189254409 787718924 486068663 582708446 402384736 735335956 573136710 605807443 162733733 513982587 752580755 475176322 907837225 604616035 153187285 816766985 484633331 454935032 867578416 960574111 568554652 345671506 541517337 189064061 487676058 674152766 512493791 577738418 117998368 639594982 783429000 235834776 407286074 538683887 122387717 649763497 580103971 852990610 747356023 643065202 969927085 338822916 599308546 602332732 946361889 765729822 845948482 273706060 631289449 930688816 700715485 680642480 253369109 645313066 661226421 776115504 763911891 679650591 318955284 293858223 839216620 598955108 533508698 350774671 512449044 723442053 711727459 594796194 723579955 584584340 558350335 529445107 721830035 197531245 972506603 128731051 977256500 345821727 795684482 294124143 553165493 833898384 881784581 845792310 124115563 321141579 236683176 663878596 432228266 448900766 855964356 223703741 911159042 849507214 191545119 876984897 180422626 107462143 419420211 548132711 994540979 696372447 861621924 451843264 917834389 108590903 228423384 578143206 111547578 786465146 693449643 558722483 653719130 928832691 496563236 519438059 103906434 299163549 185230120 689410545 848594179 498032356 175920547 823267632 899389217 535766932 680781225 276831656 341581370 474710868 855168364 469745126 637302975 935705221 974636998 151355455 809313565 975496273 251143024 175954310 536170431 229001580 319269579 642942244 428396569 160194597 264567613 663053029 945379940 645702931 183105931 566903401 658138624 263792770 985066207 522508375 250289628 428227671 310875287 802448224 506100393 673227638 852627297 360933843 652884468 969623774 284982643 855244555 704267762 653653546 552014399 821778639 910712186 755462172 295585130 390011975 631413842 394878175 777660254 592953621 865768653 556840530 866958397 920866768 875847522 397625654 416339709 449652732 985162403 304029299 344277016 118495484 619159444 922868204 186415138 371246383 707122457 587231601 656298456 906305819 106247427 567932523 470058313 554584868 837941114 356528678 695681255 735399767 506536277 999556244 468701704 740788789 688078382 370558940 472184861 264452504 962452372 143001167 333248700 218797613 353494537 269188581 527177704 897633126 355403088 416688057 239629425 618745335 166481917 973169972 889138254 367669920 185670824 276812849 315488389 541235891 672516447 911613610 756420435 597613864 151482089 727050447 897830335 251034851 979288091 253526928 573226943 255522786 793437748 645040895 650018540 354661427 571527300 951234643 305487197 333941001 440018874 214314173 363595701 233358658 598007625 709962054 814081773 162682542 590031140 670531208 584113314 664023095 322539676 354443526 688949760 276388215 299101014 763373142 908670862 685676259 371370500 394593429 826117974 497860161 526765894 785585608 178481727 815863805 337537977 816057293 224008402 508543467 677323409 850738811 280585704 154639115 879521227 274373660 365416318 950614224 959782205 810091450 328398956 840228149 364499634 543899478 595740808 839553448 274843820 243844832 210407179 447689677 584321825 843523034 714636139 389071551 927792391 867207733 165225840 994441348 644896329 354684058 415249865 881375383 427272386 477740141 229947742 145644560 302327574 177364020 804893605 812660061 146754282 943963232 952842844 920548418 313424981 695474407 115422627 100265851 775186426 978802663 942853745 414718446 137942687 917309924 733939320 997737833 948159246 696749471 284702546 612761249 621684154 424188986 408316291 577663517 754204928 656375370 889575308 766736382 839947572 808118585 882968305 599731492 829967730 263015995 414129464 409008163 735828440 326124319 923897760 729967117 812279484 915560615 277933012 543251551 740365123 851256967 620417549 900903017 601109701 964329993 183686445 923862765 252337265 394934234 453022142 504928155 321528215 532527262 478123480 410316859 243790950 649185653 923396284 734379849 669726640 468370416 688963518 362586508 815275467 223332335 943497375 559474811 440520881 958636405 402599456 340281565 873045932 811148083 391513365 913551769 649720506 253948456 830192773 172692982 866865908 534495064 557775857 958869103 316500857 882102031 824149603 375076499 627812965 886760119 390331584 604708244 940908314 989900865 414935782 198685534 919585210 620981837 539890307 534680962 219756766 637093783 938868456 606165894 301048538 777278110 568263380 428376784 171702420 833005515 702127551 980901278 245020925 295988828 978491918 152710900 266151416 914117088 135478408 697178587 289799607 913476490 558552771 456955943 889335095 892447168 992859089 342430316 255884877 138950495 343581800 943254970 608104989 500808451 441112206 667225607 537456620 374799784 726708570 156147447 803064336 304370558 663746516 808523972 107891861 905076447 645207087 514602805 634243206 989909670 507401810 779938369 801783237 330905405 715062640 326640058 286020397 959437509 191579500 960924572 854909670 909759402 351129018 194680010 620949146 363749883 950591328 376344168 691262604 434546280 445626816 523214686 308772218 658296579 813594715 339505020 217766648 921980153 130035927 413832655 928230469 290546733 206792750 860784956 237186239 503122633 170025122 448992565 742829983 625089454 202640229 670216974 955527165 957702532 177661769 464431757 497395913 257607882 656319267 262942576 755841776 910558263 995173017 240972816 997320043 791536648 543112786 524452396 377516938 936971003 941689421 465637243 989987909 639963217 717534802 738840162 929039549 987123653 645545064 644358728 299301924 324283794 298174420 838911657 801380860 386337272 605293756 442992803 642546955 840948520 515844838 724338409 434332261 314540323 450108889 195577175 868880210 183696082 379194441 195529306 814533936 538245054 317391469 120563196 557499921 456824929 409887293 830711921 266104326 563507298 163020976 937496974 202253195 282924512 717389330 223850871 640961580 486330233 374524551 369616570 869618434 555218367 540553933 234633564 395912028 602044081 332699820 475143444 664377220 352403614 736557491 914692176 350643713 280246473 549971456 464217220 177622316 618377365 992527011 817100896 944954710 207600897 892289888 842251085 954992989 588347722 287229307 519845607 844032452 397335348 527922927 301821962 960764362 390085955 211391926 709285750 798147012 948333993 983682147 237056248 315638934 148591834 213006089 309538419 353945433 338723792 303841224 879938901 783695408 384390533 354372095 708210420 582300687 160056196 904953689 506462506 218262698 359523367 566597450 452718888 902426538 965063701 789507183 889867838 842146882 573095583 844061981 734199114 539338472 947390381 405985720 119244638 908742647 469128496 355796819 160603541 719518313 441922688 639333118 835731013 901272169 964515962 667022888 799315460 769825360 432898677 267715296 729493818 928050432 365136225 392631017 393358539 866674717 840768272 304598319 947450223 650994885 168059032 383790889 777967793 920406557 399043217 527913978 524867002 688423082 971402073 213086463 998149799 775139740 554259100 118638974 942625855 610705256 805423165 809110024 276883114 763245632 883155340 691775362 671562683 249235759 310088291 498933819 408121136 123119667 980576284 272281978 713733680 925744988 791774279 166220908 922069619 435642599 848209396 414669397 677877348 199009433 429767535 585926190 290566361 489910303 635430076 933601490 406037189 454355070 959259720 551735784 766731189 876684909 934451041 756436742 871237881 241076287 941934972 119589112 841962277 939882931 299230679 545349344 370966920 495985497 221756391 109897411 976662467 481089611 116694147 152113288 813469169 688007640 136613178 700289055 961360871 731923012 226464565 134161721 269754685 425166044 953788250 443286757 279307293 998099892 378554337 147986895 907854866 828328220 370715067 919835089 631511236 919541588 953875451 873927565 471213148 405171327 693928478 935696487 863859570 619305319 869493215 695897904 297963860 624152073 494384763 202080374 353875957 243139257 929691339 297614686 164918177 623897015 254234398 518836183 980355938 390210509 382601931 126041202 108220147 570563082 349020872 747749829 889026960 619106052 114519254 529580624 139693274 466065233 854167062 317803739 689334557 108322380 574135496 402898284 923184234 405671119 915172435 931066585 592472112 128080021 120779049 940379348 339739707 932527330 153205245 562924408 488902402 220675435 942595615 309621100 444605205 867791011 582965291 786958990 218227229 703899304 287733017 293031587 330509955 838086292 685463043 345027580 164378535 544279730 803416742 899272651 117380580 215568681 971226016 880684087 675960556 690341521 450835837 405483685 261182552 465728276 414684644 887939260 230067188 590563250 434019740 204338796 547309312 240668616 231180216 401009855 845063573 836512706 669637739 330968236 664493535 438182994 820308475 742308006 595258279 237301202 773031967 489485223 957079999 242233367 458110407 994000298 608517797 756542807 440973581 456482039 335344082 136105129 681427440 137607060 260591115 653259983 665787052 350968250 427090753 821373550 323194041 610893172 791387392 591526636 894837697 462531420 465244139 342619029 616704715 170390198 852668032 173908305 445888543 470109875 452023186 632818634 882827523 566161852 631900273 477961856 309221643 678935245 143260683 720417305 780173040 147897196 277835292 782475710 758297895 458765663 988455883 707024806 104926971 745974425 621926065 892138365 237457147 452321881 251511687 550174321 260034886 579153574 860261974 362253698 490218847 359710033 509718536 587109044 268059086 721427374 438883100 610291852 153446316 122376865 293864553 712377310 304602328 468365771 595705365 240376114 521446524 805991568 787391366 947902263 950456436 350985698 840080768 961735664 543772849 312566456 522561504 668006958 589947505 958438197 647007047 247660200 356074775 785577422 140958659 739195298 408889753 855849919 201644563 153260755 607734588 315312064 829143479 735789287 727961617 686628653 389706167 389403565 942019497 932897583 556298043 246233420 726917001 683077057 160515002 220567788 439486027 113600715 200853979 307804997 361042052 687067354 619137391 536099410 433368345 412032569 302242796 836968601 846781599 210856425 563871470 567617400 414898764 985151650 199229313 618681360 478609175 909371403 642220830 613113451 881007089 844626192 669034071 475712262 342320471 579272964 613016990 496231697 456496461 170488142 178727904 601916709 469026367 491084357 397336990 692354402 790382727 571731705 745107816 527725338 901959423 904662181 452044665 698827210 344400435 739085041 165180075 973870249 463530320 984167298 927899160 387284693 954865914 383240936 686051681 166013593 757751031 569824353 208952425 337442001 144104094 812038553 640123574 473889942 959451117 650512603 365808756 357263076 932638566 293241024 579507185 228699090 859728842 191577875 148239278 921599519 561778617 380882972 796953779 103738746 409758056 209480951 306985635 314751139 285535112 386434880 665937261 351405086 271140534 629364359 435787683 415554841 568241896 174039362 609544311 682520432 703889498 719985727 801769434 410202997 735546587 161337286 837414373 754927826 982281874 908073297 475420964 486091812 261743898 555016968 308010793 483455369 948729559 964273561 574276280 198790269 570807827 508784825 176422213 952883934 443558203 441036367 374695387 269359811 897065033 548492579 223103083 774161688 271441905 246398800 204692634 685608520 199443764 257025178 828514086 907638564 338928997 774346911 969797263 880190197 743365523 917242455 131155998 449927469 503073248 353684384 572228085 617866861 756855908 931612590 721093225 479116833 233662406 789113975 388941837 934145061 691320869 331102801 130089305 949658654 657997225 908466774 695580051 549351190 599622242 843827175 169679776 489671464 660444593 922636402 688245523 884675986 636231474 261341915 696157327 962512369 904292884 122712132 235609404 100645710 272546702 604442116 151883025 524500496 148427664 466566687 232907063 576773203 193391459 990295638 954775765 254264237 867498151 725512806 962128341 299809342 865049148 380259686 806915816 524132796 693736324 833191484 771424570 774287950 220902501 117249226 343616019 494248665 638090402 724404968 226364237 506871072 328333866 149379147 619841133 925910312 101656905 312248022 517210071 364658689 460302904 918159031 443728691 541818457 276359384 564452770 506049237 927947823 943144244 280133644 661557146 549239312 171737587 490125679 857715237 934483960 997811044 204857722 670764901 333754247 241093453 101721625 588732303 820608857 612590673 918869021 138023760 536700386 652265370 492848770 520483406 236144735 672549273 900287398 296969544 100719659 756718123 212528903 575416502 697807852 774193260 132817872 250210605 730037141 693966673 841449601 351337311 131104423 501856832 530243165 391458742 907003257 449686426 895301476 937140060 487356220 956374927 553202575 163663367 322610807 870203261 576938077 125782049 803606587 239183898 904706431 787367020 317000592 374878668 613764328 934494553 997723896 493355357 960785162 123643678 353218728 675562150 402594789 344176782 568221332 960791499 913482544 612240845 421863458 358000836 275303328 566053835 887080867 264265006 529688426 443205927 884614870 575465880 478134937 174243672 736925726 750457782 975678225 601514849 201402696 526207721 299057345 937172806 295999381 953125364 720947356 273529050 578377173 780546790 513692487 236508063 275277498 776586066 597320147 260136293 615862469 449647372 223563062 715362331 860915816 524491210 121361430 632087125 561061607 840070964 135007708 364267716 251943899 434440534 291703594 699834376 424910948 788257177 679996606 988630254 355270588 549024869 149381501 437961135 747195052 771589195 540819276 534383932 752115672 698464796 558685677 220735074 349572313 777416517 770537200 673994479 577586613 899438072 686488690 672343555 171380088 629446503 241802501 147815002 161363393 283292673 261982221 581036502 106392204 127319901 526627469 815316484 725035346 949375370 581970041 515234183 765244416 157262776 818903962 418129308 120816760 640327361 378955381 989247507 526834431 347759987 652224930 921717800 613187694 694688317 334588919 909634409 755074928 788861063 513970804 265264663 337588622 619225756 529781415 122120863 974396659 935728171 795769893 295594280 899033108 715984088 525215714 531752167 765531834 602648775 597164525 250146009 652975791 215799216 269465232 572532672 742777789 545436328 414160913 136586406 943222034 471656854 137271841 461989810 317009968 270062876 486423429 515724485 286134923 571927484 173956397 700198425 698610661 301878432 975457199 718452670 886817094 325753052 974127248 422057830 882511157 827748062 693282980 611586258 133883737 248342872 893723159 785520289 309525491 480762551 392774617 955767131 399492160 968164384 834968116 519356688 843895276 612328052 588297825 934527195 987513584 646423194 810739672 414638010 374166701 705743548 266335563 717280871 875064003 298775316 488793192 354103217 426797057 737111920 437262931 818742956 832442843 108963289 500986793 509424661 991769794 159249326 762022476 567440510 878817321 819934245 778413878 469330936 331341349 843110401 775337924 781393440 263329735 200151564 835971872 428293500 409281739 424575410 876878757 782461234 587079889 604773850 411541376 704694903 791474381 998849244 367068666 615531881 684753041 298401092 500903139 115707776 583254690 378830307 301927289 195687389 575110349 566893627 238035696 329654047 215094838 710242458 934131469 348096899 343680329 849607878 758666771 672174551 170031756 865547508 710646078 666050007 791028268 638116153 654403892 397861801 236051376 758710308 714745231 676263735 431076511 946155683 516014585 546702286 881509528 751448432 559582274 931548516 735766896 213829018 602795758 418513417 720601270 326022954 409806551 814529653 236006544 963620919 406433787 882466810 710629443 282725511 968807988 839736716 900900222 351794375 758816404 310945540 473741286 994756141 127669949 511744563 545544212 138322234 143955477 980384656 103867033 444853387 591701196 493850657 621283526 566057942 520698289 763399968 821682503 447466731 431225501 933858770 930098404 789024002 808643835 415994283 979040139 815191446 183147313 117754401 306874194 900242831 563778031 133547996 670962587 218999198 846086996 129785283 863781239 113959785 337975683 113653169 740863537 768133228 554715608 209113389 360821221 564194629 996332695 294670627 173898264 381610443 356534068 356017745 177362004 836244139 349523897 926398160 582937380 502013424 815131571 522149904 870427658 819061382 839561386 553041940 273779186 789810217 761211884 685493422 405302463 832463662 615579238 746029358 481596178 834091568 313575920 121976065 214201159 190351738 519413205 522208858 757676586 408823288 110698919 427234979 568759233 216141551 503273986 767255565 556537069 170768958 908640730 825896991 725603723 126745561 417090678 185977344 260105437 248859898 622236056 110760660 332159871 178419598 959206174 968893926 558160778 419543595 974111155 280586203 575140281 102457136 161218946 560807403 949658813 843123104 986488675 328595907 433003270 107746194 533281811 203836743 753717411 273094433 594099684 334844159 208348194 647049314 722477492 354352341 450599313 394744005 763786237 732357469 918157102 318938182 478751060 919995506 619856240 183125117 445709918 954714193 317323219 196363792 856913991 887801044 189136853 802782324 938296417 432610161 531974113 174617031 793490684 107360962 482279149 776617101 888501245 651308001 537096961 725087005 933463785 297991759 309337778 954050935 473393577 460432750 883912633 977486993 472709404 288610437 275344224 246545137 523281005 570365701 256550470 662198759 973747399 192886659 572184054 681535220 812491258 453363638 873285976 678321829 137751661 842316376 896616616 673861108 676653255 631683187 350698569 267072483 995029385 126380767 312546931 510795497 633324904 162317671 123434970 153241562 913581535 175909950 769131737 484853673 284060266 221760603 581739627 972462330 253461003 364849169 685994831 148177554 696295870 682505937 559483219 111795920 914157890 309939950 282476595 458632480 827502271 156171605 702198378 883585484 661839939 615595889 722013493 443360605 665543348 580118494 609715815 252655006 471412360 202398138 863266251 570087687 963335952 590398372 322078827 714693379 679663727 858757913 191747568 838730380 664438732 990277900 643723422 319434099 110074600 470040061 942218991 639132130 689276243 317037489 583941200 945611373 171215048 185651590 762400469 196193563 542517613 672422789 741086680 821628913 661965445 814022416 554528850 482495467 942392708 667828660 435765470 879640580 790070541 169972145 646501155 843319246 672599809 193973490 551055258 674263858 477118603 666246939 783782669 183418351 598497299 727495163 558585272 103747077 594538574 406770478 783068689 751250492 810150412 684497550 144057544 249541737 223765827 402808251 603047747 606887324 821859245 595395902 279914178 762107472 882182231 376101820 957064182 233118071 764150527 511672106 653029841 296834726 865673966 845933907 273471674 131694106 700736858 690936395 937286493 594263140 188095083 810855780 686867253 541955134 238821969 893171387 828258994 561507439 170957401 914870992 819599949 205876497 735264768 621413142 566721576 554505787 315109541 164892975 191000344 547300413 358117859 299401140 260361737 494086063 675483948 599740227 112477987 747627955 672348857 117228540 761111545 313320046 100288839 684941608 874955587 833882967 342488311 207256320 544291262 465796885 364487308 578084151 826045047 775896123 673162625 521502030 512417694 801679907 654788375 596768245 499475654 187786230 841651889 744304238 574654964 604924471 613052032 865291148 760197711 828263655 493552801 764400669 531926904 245161963 769398655 107479587 121713988 432961077 960746743 227877502 909196357 270156962 715739290 163926502 488746985 654189202 361385716 306642113 820595144 617999716 817590131 343880734 542635737 179028759 527344756 417727703 853899604 990244389 954200630 162414272 508475633 202636320 559375341 212679182 329489806 952157428 970709142 210767140 106368919 993693493 799966333 737726527 908121578 600937096 983330519 389959393 438297285 805847545 925127037 866296706 872624748 362011119 930008289 844966789 293425278 453144754 898402995 184312617 169679410 372746570 204226632 653045131 719193824 447540458 235257515 449988422 324861458 757349304 344910709 254087087 227815817 486174170 291392407 798199504 846157746 206166960 756165231 222761233 464953343 331904804 710211273 115243941 276858817 825987666 523322072 198656606 203299049 290673593 350840914 977113435 443575228 317619496 222853471 274165354 297413127 355500982 347416595 383592933 605285224 141806373 847132181 627600168 266512700 930401093 618281970 183163650 618980743 965066476 342920643 624596121 179449042 876578319 716530204 977790039 509069099 612160458 737097509 805883904 727374742 186302919 440609166 807892654 193858293 796795156 642124155 114330895 463464482 547786728 740454184 994952928 353097105 703112820 120285759 709937618 680275211 670976985 454603600 324620581 823602349 540347540 368619330 602091599 309635612 260176282 241445981 281895586 174846820 227651888 710020941 188808956 183908730 619474595 251023726 276365317 840594337 546745112 720446502 835020268 568253447 525005156 148690290 205246444 844614667 639999370 613177167 671788917 782094074 286986106 459698422 350303052 475131882 293859800 113715990 105612054 516624606 598306368 594198760 279443492 877482371 484766023 365547444 662698296 407366970 222111193 399084406 581219909 775122739 295506471 152698961 640927490 819707744 661088094 870072108 413225324 865479028 598766514 277434760 220629808 301804243 744285937 633181204 354950688 548549012 150581820 795222301 328712452 562435063 914302664 578468583 919408709 964164152 642042439 660471821 158677894 553644023 949948192 845642682 455352127 487669157 114719003 430511115 423818852 292223342 912799044 435928706 222654407 528571562 514899458 356903310 274463192 228224505 611142910 444902339 600676914 665618555 352627159 312350915 978041723 665295088 369225944 222706865 347169620 936874447 565388010 809735620 413465502 823287110 726199982 493932981 395913549 654300489 323765761 512834053 797148001 187237905 511440734 308141989 774408559 267645662 867278571 768748771 973695870 291029525 377950166 215838216 164184202 957996671 807311691 579169962 489097167 389698042 898351083 686659264 147132121 617139718 511016430 370675979 402638148 278736775 898996494 657477992 110337049 390050440 614645809 360608447 525163980 898485560 429623581 472585030 346846965 133865413 802695362 471895490 279970912 274173089 167481174 260773651 117825897 358729480 179564621 192755567 363553918 573087264 753610429 369288129 104434352 933342321 958240473 470487676 666319665 750873422 660611898 487713132 159205409 507257629 590240734 516674109 899466877 246957897 705646675 450188600 998602328 383301593 356735320 903939667 829930108 953945681 911591302 841373675 203886367 776671866 974875366 511212783 433489701 217436783 279517159 404404241 181597186 394333657 101373875 264582192 133585336 630268707 459157960 807765965 437577748 872521308 616728601 127618126 836240715 553192319 114473211 183822268 100874906 828902194 892665793 680608544 273204924 942289197 752509081 791766995 895539423 596526977 467759251 299696428 645588056 952367559 327790089 194955355 659371894 689188995 154605534 856639370 691587067 940459342 472069472 378862441 722441948 795684608 742445864 159362276 465629041 348549384 471154928 332683411 541816786 235676154 368815754 924886634 360681682 989930332 735461634 645628519 769925910 810526184 701327050 454175289 892035505 672848302 210768510 676882298 956406815 690290641 111704283 627496456 291683919 570984683 874781417 997253336 941697482 321669821 694492634 355442684 725137672 386659755 997600553 973550206 756071400 980451116 759234210 765748684 704624207 856859700 687080585 557178993 529953529 505371313 721985948 990092313 714506205 857366731 862533928 128171911 363482925 490213078 579986276 862986987 490272403 743349629 825859210 802883006 398345646 694647505 835578068 824679169 162905839 419821993 967087626 273038956 749737524 764532953 967190072 526952171 929609699 979410525 421224252 247949469 276648191 785805406 782140422 706462531 793971720 745542665 648931886 698686745 174448484 969227776 281107162 850632731 511202018 279740065 912790516 303480224 817717545 197166992 524194114 666880973 866786796 339121225 696543903 962490983 664411529 595118899 955169742 217229370 985455647 526742701 369334669 828606673 609997284 216510477 616302579 319478241 850002366 818315807 879846516 269517652 206459544 186445060 860592159 259056841 834178111 106869750 107645468 995947386 472490042 357718512 104034839 135003161 615291023 814018587 606983025 897886337 995916104 803394050 865311061 932276627 929975966 855577882 215253465 497668571 142011577 570115597 136858963 116890906 195752288 101548095 860309758 172398666 254598236 170903074 840956161 291238154 875828360 491844482 214071043 284692386 611684265 615099309 928869158 261578583 827623395 386726619 295305681 729249097 769987322 679447547 369182322 384481853 584824608 645726972 667142609 531509469 953754020 661783740 471399119 712196063 160844961 538801103 826836384 596354829 655129471 187573537 435917122 591465568 791302396 805298417 428710222 634039818 125593838 528253950 198878548 239802549 116904576 858295653 933417562 209408262 695927546 757418318 720413326 671586200 900875384 327283992 484136231 813720729 664210331 301050015 920122097 552473665 965386029 232168196 719013454 903187420 918785828 519111522 987215487 277258950 978922439 731645805 385918174 223693164 318597858 263902630 448299974 749338049 162716711 106672840 784221834 792496239 383280401 182186900 898615955 893968458 693109010 823563968 636195099 392165092 847782361 567495921 114498402 595879793 587040116 627871871 528655278 521401342 648657820 230758147 449734378 572689619 847756515 979135708 487782610 573704256 643443981 116518957 182589325 290005715 277144748 470034032 510453110 283797129 338599358 243368373 763217789 496618648 625020698 252684351 919589957 278069084 312497864 205226917 782364239 217109321 918321535 612904599 369114674 290684049 257277593 483012843 326417671 290700392 220268247 344737292 225156316 470842284 291537212 526880740 991577284 664949678 412900491 393137699 332555610 753692741 772406689 809053409 784185919 294908462 300867851 698044143 420962979 783772237 898476093 622230329 675284139 732936519 531814352 309489019 358087503 418702611 603814299 600842510 464980132 259015679 866562467 558320442 921672571 564470071 114403056 706731089 891316073 300055132 593031906 237444362 946756823 668959439 566868860 400888599 452422906 255723451 263174930 610254710 437494424 440747761 800328884 896021405 123130891 301165111 231981501 302740770 506328530 134822330 368895269 590660271 588995330 775396630 329920353 290180406 527236451 615421601 755063707 886045546 544645712 932873137 129417350 915027429 599246354 475315335 108744761 965800986 524108830 234501433 553681829 798952302 419253862 376510374 999375312 197061694 370311039 557337364 264952995 894517602 322964475 290718286 378704117 166418947 439173927 745517999 782378444 657234935 279892892 350790893 495490456 306671214 869990511 543682984 593983742 928162630 699665767 679869962 907837081 854531704 495419393 978396891 866657425 334002639 235863759 420670201 190626592 588646164 591662525 541225369 773887842 519714744 585182105 321504349 667735648 724803613 319899119 699064692 361853715 798351824 912836729 570547015 945340537 467593041 700008291 210712570 416720553 848982128 281192886 385999394 510535926 951197486 104982273 732773716 910951029 789165037 341359229 725555582 792591709 792861440 177527375 962633320 123411494 251366326 190836517 944343868 942429387 658505137 837849898 477308976 750607944 519704650 107417891 446514268 168452977 309333246 674463025 807828536 919191839 733451525 138191602 349806654 917920800 959512035 261721473 873363303 687366406 692997340 231135600 169611951 651376967 681233229 486779670 900347564 890278791 381262890 467297834 480043249 117181562 183740679 809754718 332806852 638738888 992608839 344719600 268145804 794093951 679797338 902704217 200467191 205239332 521226859 850618318 423160894 971386166 412566095 373679765 503894439 103041166 684863659 556409019 916008127 726431137 396493245 218756319 448534280 366156038 537019582 188381626 239319039 792727361 277964542 753342701 814697072 697584508 484882339 962393709 223651162 202742074 986000114 734507341 360423640 705762452 415882550 955698165 181862905 753267611 335464677 863419938 745235203 984875474 123199950 580437785 286565164 732251662 817237373 992695764 707203508 219889567 927115308 907256096 221882982 773125131 994945561 437736658 540955770 961066795 878884585 223337869 852005162 578421155 497994641 781465828 140027854 279082545 144057836 146441668 705115824 160500630 647696731 210842307 712819969 341206661 622970309 786747685 676171338 335020937 297545227 644383406 673973257 158124791 775714078 157448641 906539253 897641714 233123100 139901563 427787307 147144877 692739691 327164446 213184289 736371172 581193661 490109697 457086937 919246748 262849117 107643110 582357243 113355993 394373562 836388859 141092322 564723632 898757241 299675476 579415764 784973335 925779885 308344822 670111898 947241027 369705011 498572974 610035270 757764076 303012390 332644218 116135632 502350508 509266558 913380408 764236074 688101466 897544053 167980852 684985058 530502456 580174613 675238593 212134522 436087454 749801063 887675233 893505996 921305871 688699222 183731365 237200484 794003715 549558214 336246049 715302790 985560505 776424702 804515756 792606471 500789741 918445869 889110627 194939347 687940146 555361012 861211428 683772198 323794779 528985375 990500775 797291983 839054502 207533151 531217004 891837922 542781765 109182691 978503557 568316857 773894403 471968541 546289842 502909527 722013840 149199834 197216780 566129772 896666319 731407785 853355018 439335634 156454956 259672037 544042719 802030633 648867745 504515176 797465087 732114024 882365718 944121604 844798966 103229445 519069264 835002388 783934642 323232636 662995995 192119648 938264625 230338693 445718372 557829290 631093726 578129849 283891413 290238678 518382338 421387442 495753010 695267910 506683945 421506340 929733470 893689998 201407078 602023876 846855248 370194669 263781038 368097975 416765815 979793986 233925619 766290412 725011581 459560279 734309828 253721580 766344688 127801240 463393821 669816802 927865313 896181141 702016728 899023289 364949676 122107551 104591467 916375339 140305162 588743534 848276993 345765195 954629087 893156994 989793238 415554120 802200971 403297839 903537652 178952743 711813547 176353969 571456046 868000342 118375089 757428282 506159846 515903819 336984366 224379168 732647414 531429262 150294952 617293827 685414680 725505943 478682427 208894843 466505214 782941269 802683248 837512624 132868014 214372225 803175645 191225673 630506957 398268756 367560658 196002646 133408651 174219325 502902968 673231113 246921570 166493352 974506191 882124513 445346324 820887954 973386545 820408829 320574997 233724574 520431466 191297598 388668168 407838692 224842974 655193478 372521818 584009732 409157419 516200805 807340568 573537375 371426676 658987403 167455585 957722360 299225892 935832871 320930574 479573541 196965079 497664456 890567104 538141793 114716505 215473556 524499734 472614950 189188340 593005364 402658303 936383760 698007427 245786013 502720982 381665004 989461675 144168530 136155023 272899012 869055709 140491292 525003317 734512295 491209890 508358424 669267739 531542660 327773794 258729022 358813931 888959873 125302354 340112159 751978811 373739053 884390481 594752810 580946546 136734206 767222211 138754995 514249584 868243513 156164575 539201967 691529563 482650357 469175821 732860524 133833089 494100543 840962212 507203390 179600274 906102483 201744950 830364568 368517847 413664564 634028741 587944362 728138765 986654013 660243633 270900934 735371661 259287738 768896655 506718478 959040377 867369495 614246463 767122341 373086735 425203439 302417878 136277453 194152564 346525321 521646331 280913854 579933483 334431939 889406514 290332074 283908347 915310182 350506813 358115140 507660310 807681980 373968797 505389911 838539921 355959059 876941001 874925123 425512331 244264420 439498162 853533685 228684534 496852090 359166304 324754764 412996074 894696413 710286279 876736279 296447144 323375579 657313700 115234955 165062124 970035954 350612985 849306219 363835311 401486208 949395976 705491900 767739733 117780816 138386751 315344616 185643663 508678455 647892995 602045190 672607600 155358583 754892106 235903328 224209857 935421808 870534540 509092595 879764025 464110113 959661356 315055981 220715425 560209200 671263242 949481025 443908020 177100296 326043185 371569738 992027751 250169614 536066379 638232139 220183517 792851120 120435895 246346016 291979180 552347952 738867381 856420366 670555195 224026811 151311369 145368298 471383282 617567118 580385055 788366995 281041086 940950908 942448803 103919264 151280690 934274424 458565196 974231129 447533233 187065269 484199840 923856003 312614178 139944293 614548639 810339470 107840038 851446477 771460912 565775874 480339046 684784365 948790791 739119906 568996582 421986583 141785804 599014595 373957741 803206081 704011709 496658738 923300912 852402536 742095693 507232980 942363308 883299000 674058029 576125537 616970789 498922979 511906728 377293173 328316038 962705036 338709636 226581387 779295423 906967871 169269889 585957825 493734169 813268644 480435900 521631384 762736292 685594487 821691567 568575904 623304417 141879101 133632997 689474441 980772046 634468005 698521399 440141921 537044832 154255502 774852936 873780092 983417037 170003334 327003804 189323758 980201224 572470360 222230599 233955075 817206951 666633817 647599107 277917287 909841653 991733979 294306130 451242136 979833729 691296914 787416898 283743904 700786996 320094596 966656971 857456269 400998195 537287226 833388125 687529399 489515826 489885675 242510497 135722984 397046752 134131692 769861316 230012505 893707682 700965265 349607925 667185485 570718484 298926739 829183521 305119830 974954799 887244099 168054842 343475826 153169851 486243532 259387283 138762322 323071783 387870481 555531419 766887483 802064856 293798670 441021092 151341943 448738934 286328607 118511620 384211517 163490514 811819455 104108156 375932739 397178700 130494534 245420696 164152128 700793346 622048799 202417283 177465319 127293826 848203357 983697645 158103369 775965046 461360304 130101755 576808965 472043173 937900101 731801804 324078630 590503197 993658188 912476522 685767396 620653606 137382561 107129085 458812657 645108578 755109785 819037122 210861812 910902706 750989715 142692150 660611178 846755646 369090076 142080624 223386594 745704605 560320722 720403817 544284266 697783116 912608102 372508814 374081253 136184127 395662200 964824307 702775812 943867453 204982279 850899122 899237791 625051603 484445414 781428471 514460852 931594145 639593596 790698334 177504417 624561147 301106779 594419720 288245936 349590967 718370085 920126266 280696594 728401227 161738253 804478804 236259465 340890555 551662366 450812925 919871784 725842414 977208839 202501273 863557274 178239653 123829600 916546633 746169814 301596207 178152797 980658098 520716441 708673305 984817956 337108760 695187524 748661653 989972087 809739397 465082468 462202679 503074610 360432698 821391809 891265594 108334283 861821913 385395426 948588476 160936459 891620623 996446876 916090978 968106873 683120499 789727699 349735306 325037415 842873552 978191700 462490742 433001855 513594927 670991956 687620908 311799347 660317874 450742292 529969395 551099978 981379621 648971919 910319266 780855319 620596911 971969420 900093052 569824120 224515783 612860796 724080393 824042758 346698115 613378863 502327915 257963686 632276189 147901682 396495175 644277042 307168109 474665456 144895219 940940487 231497197 860576627 790261190 862705839 683764526 841013152 439793222 216089838 480738251 977983836 290407029 329471536 904048312 525033983 715012081 644287249 904617483 922221242 584563101 994811064 387002742 280014247 160612652 111159989 924309096 467989847 719234399 683147031 197411976 764820584 643536096 922061454 156264465 891933044 374554004 684260124 685479744 659056409 645602541 377783388 374445317 952981674 537888325 613258505 662698517 994494135 594013582 988393933 760037410 268461437 216395144 239716473 866166811 632118257 519467110 973556979 338140092 942940924 995316218 590402891 422829502 184265562 916204518 528951944 947154976 495361013 226252174 645143497 127656382 749092428 885318397 824902634 519090581 219524969 462660905 374939012 368444215 365951042 639371413 219112480 915625624 251928962 942805916 446810062 603737398 805446070 705939482 652091998 240841986 186318832 958951687 352401031 757485249 651378302 102371014 676807945 842940759 276179909 458875285 761661418 824354651 251993674 435898494 817927601 549491401 555405496 321622626 350140546 299516265 230938550 785247823 641657653 311574936 191662766 791784569 390278432 921118968 271349716 876318008 166053839 422893371 867623131 497797592 749469711 876822491 899380322 862055981 501663700 781329774 796987592 140246601 204256341 745082493 902876248 580594712 777614179 651665442 251823203 609523161 742529405 108429748 747027648 228566971 525585495 548567714 540992422 401395764 495183088 527091362 287463958 549751645 535640761 624766627 204368822 408718856 531227434 265582895 773683758 822739254 327735902 522093241 852007154 952554590 124375838 986430751 953702580 378363860 656664873 320176044 351698355 769571675 180967202 973929838 422465760 477561258 306752473 158687496 634555360 698182893 849692050 420102841 480186958 155264532 329306141 697040540 486238318 585146763 157506366 881886252 836424318 687208625 369046163 467313506 221804610 198310101 486121543 360106538 990654394 729922630 319284299 572891143 122683409 463331976 837661168 194077952 205274910 688026939 378957329 653597648 977153184 302034927 368616667 460968153 120224924 135529806 482584807 200200740 664783564 372392465 863156419 544193593 584764844 557584065 983568442 371691437 594930874 446135506 961396488 315344377 728817346 296759202 471762540 813388771 492021835 221564428 505900379 335121151 134241448 488186819 852085737 520688586 413554763 520136662 905293832 542587630 917793229 345036875 907033755 437211097 667063689 852350192 365641067 355851487 124406293 437784118 892327325 423635688 549005550 299492056 545253369 539759503 481881929 457571680 961812071 582945786 697051476 930898114 823588170 103244890 880342138 312290842 806145504 318551660 433375894 104540337 327565892 601803860 841276725 950035087 827709410 178549759 440878482 819290988 923284196 463815129 357246160 543178247 568048181 743603321 457987013 981528130 528533368 698381658 259959451 650065550 875823518 303161948 111899311 996639520 674240546 544218393 569815831 190976058 793602554 519623310 384974214 426711281 984995235 298459973 458872941 255317865 776184501 613010025 182301611 467697265 538182614 736596205 162299840 947244532 546468219 170571175 718622644 139207112 312865012 724470410 932670848 740212050 570776521 377926330 949613956 598422719 544267655 342688638 405386665 841052732 141088182 751402226 730728007 142886754 775981331 358178794 210710835 726674899 964456836 763397196 832066907 408390283 765228878 805609668 460850540 135413324 857625990 304567803 459298297 824602827 663521559 509324923 893213595 902450572 966767551 348484491 300827191 802618923 399534896 410934586 411467420 121738412 193620724 137890942 877231796 549216991 426243300 422050602 295959915 228944242 829917281 986176641 815921516 447402341 257663153 912476457 738081204 497468227 349992382 737336151 378455313 452907312 272091922 510098764 239303168 281913467 163517878 280656166 213754786 588616124 279075905 671161685 474410479 166706567 902694590 208338553 976695264 496348066 987657736 871936476 303762105 359256168 768547974 142979331 742913549 212995399 498604567 801146249 762857983 662361969 901978691 849122224 275948506 237982984 773660206 712544771 585710311 285519591 130523706 471055255 318585629 108801221 553801021 882561538 284158381 726425085 682945028 768052839 518778529 663967539 213287943 869264910 415089595 287086114 795814156 904933217 836882372 111647926 504340544 922560827 177963350 713125909 410389759 632026868 417829274 494561727 802165725 724457965 591322589 286461629 673541824 355264063 899318484 538900143 386183868 706606927 911347764 647400641 421193723 123066822 221476754 242436546 814757546 364510796 454256435 355301428 765867327 226446956 110685775 803122413 172857640 362831519 814120634 945746390 723265440 923924753 979670367 309098071 512964650 972923146 557686608 221435418 156560006 496577489 751855558 732201028 328028938 301914375 185014592 523856387 978380507 154880549 109436692 103405810 883399822 487144860 584917949 384536469 272770800 486771095 494558917 877031942 434902442 988613129 978226277 181319715 871771381 462461297 904038092 912076807 788966008 671391703 888266667 207193540 204337362 709724280 909342325 602368793 522420691 143042235 123954841 307998295 669992091 792700212 258344355 164071410 927051586 275592873 172473469 698299826 927440346 566536322 370484086 401918437 440019543 272526851 630942845 493108249 171220220 515518338 429445195 377582515 576390092 174666693 616456993 168796621 188320043 848785492 550660239 983526748 381387730 366506066 498505870 735326746 852069931 655705474 303787212 801982100 119918878 566458850 959109194 383158104 393372467 123341043 495866341 374654844 415022843 618430810 179614610 980811396 938213645 432456538 354058331 992475837 987773114 420466706 810583671 944100655 833765406 237151015 374192284 953781723 294785975 357379612 467765532 791088392 230355307 714397469 150817164 339775316 262256199 563642876 980457651 294438546 492301393 555946037 330116043 663387594 851236082 196880952 222909779 114621182 563046721 521499447 763448381 731203717 121901255 728125925 992577691 322145778 849571693 407765972 156714833 339873832 961842736 395382246 695630286 558473096 379624793 192155554 742900476 485973770 234062344 116673154 143395066 734265463 144511183 842255377 647909682 554561103 541531245 406456272 182894677 573017106 522166650 225790055 435385324 138871245 864814470 554529888 413883688 252227414 165947851 293551806 792660471 869318464 729886732 242959846 463576995 435088111 996173494 812312906 138906809 910858592 469131533 580960974 261252283 491388744 206312981 552735105 106482968 624953432 198690580 430553103 827921134 680309094 821483912 378266339 280031653 144456843 589959095 116876031 314943050 511378235 900674733 652105660 761173913 212762170 253433395 718913459 514619097 675673418 250200768 137220432 475025598 994199986 466109896 526301581 628158804 216465774 513488469 867437606 559994721 444886293 690067313 683961612 564788388 735093175 306929658 416499582 626884605 250496197 237159466 429581673 622336557 697614939 117354630 758875984 567276187 160462488 337920168 621781207 631585674 926428546 939019707 419628838 127482680 341042650 820284079 475473780 427887602 586327255 239624193 795655535 162120990 292146403 536543056 398753276 338844621 769504666 299602800 485241980 411466511 252056387 493365925 772787833 315201553 844615953 667235180 970643680 338390570 503802426 223605947 779783303 833405561 891411553 524694124 980534315 906653778 194556873 778829039 203024792 134188448 323450433 349692495 968132054 328091000 109829056 905025507 818906275 459753805 672613693 840830129 298937027 142485596 655136180 819298493 769977776 148463349 719651523 576928908 712839279 778326703 332350009 463432277 334668518 561550477 152870789 362488761 830292288 482451820 367747800 202864963 729678546 312222321 627274150 183576809 114452241 348549246 481100866 849568877 355170990 709805910 959017575 666095174 809764396 164942172 230519714 194140197 911114394 858311507 482452722 282826742 381007565 887013849 292864255 165835396 200998387 193318618 220168071 957057724 190277584 401048440 404355422 117223469 725803840 647987916 820038177 434411874 864969344 453492802 215759697 343030198 623509876 196049867 430219813 622933928 109685755 210611923 705433854 509606810 595756022 618005175 568015985 724299165 568458480 386244979 612720818 512142870 507731149 734136220 817635995 409545612 184528171 616020239 202776622 498870615 782560448 947477870 552108992 733688425 353332293 460636139 593177137 592676809 724400267 170947382 752085336 675885684 417517420 857976124 650729486 412738809 964779341 849584643 832330215 730814489 118507721 758338309 557338568 604767747 344686022 268447793 234227341 592382275 959880789 787594467 304129560 748427959 286650935 334606966 590081637 845517249 361150805 878507042 492296069 607421012 867279189 106637578 631766510 306536117 706489114 971159599 324866804 136824097 925597922 211397455 339388300 507729619 500176548 675811022 351703881 980775039 209985579 952743928 948979042 914935385 592308547 594490182 358815069 287835261 610871362 790380120 984875683 673389243 464614722 317204780 989206710 924318716 598693359 235372250 106426356 809228431 469284424 835800477 127769005 195243290 255590229 582745059 458488492 705655179 412760318 515980334 604846452 110851854 242524960 874238749 956224271 523917618 303603251 242403626 151012553 221456724 360945032 143033355 762214766 969188197 425279209 147304708 423198871 425028107 526017760 407479819 425923506 790657541 518058340 832867705 581992763 389983402 704532320 947102447 565994652 222447465 726648726 534828529 282516391 158617153 406644060 902810323 304253176 663657132 856821849 791773233 948563881 827508429 293614436 262256818 680208256 379486282 390663484 624988340 450944972 937870981 948260664 178297524 707032687 409395707 131625060 964061115 121506103 421030154 534734695 593065484 998823143 807874595 214637282 290943200 479332100 157083362 255618718 418656141 880612705 303946475 306717815 620521728 992168251 953667299 416179765 791553642 491535885 524709988 332231757 821477920 476076159 547357349 445279478 504163485 512299532 989858611 659782009 339202545 251902324 536246395 221995100 762690999 836421645 458674387 155140905 636758614 658129772 538872940 274070389 195632336 716641435 709275414 914969042 423903083 825960981 944176396 585186248 297517984 990991437 193107668 777390769 354302275 435185587 919830918 679592081 199457410 441867707 282688043 228235124 818734880 375986224 536180595 924828571 251995212 496895408 735564124 511975748 959594920 965504279 418538427 913539269 759177476 202616258 327521241 792445158 288512589 570784521 239284031 498651773 535942958 879945570 150937455 679667825 452508737 788245937 609163552 700241898 456653140 244431332 345866721 918485560 845581824 195496871 519738280 303550209 208617338 933357949 498632163 284069736 929461871 270055609 740254822 379085277 770754842 762440361 223503752 474101692 195963966 864006934 250497449 833813331 459589804 444534645 422062920 974768825 838228643 248005715 156411480 501216214 771960542 385101125 613165535 620427041 371068918 487846649 589994105 888402166 254350211 492450662 477429299 450741664 957197014 318540829 886029410 800915871 810213539 204844584 951851193 780275162 781451900 895285758 513802340 988678149 177683733 654626285 710960911 475094107 500430146 633221586 751318444 496694394 815355740 530744385 510559379 316539038 626695586 393848961 739121380 457172188 242470158 599802377 907186101 637712413 149580307 856744197 568760574 861697588 693603003 638785974 429614341 319118460 241259307 210708628 877359626 232113746 243202859 793959299 847814494 920037536 994757826 814732188 649824552 745240809 376425909 988004286 649111721 939489400 962399751 403419630 669751158 766467625 754001015 951122907 594597797 836017951 372155619 864672565 310278804 630954050 428746546 499413539 833192941 668376187 917309147 958971968 780714246 684557673 666630766 758660351 765777519 294562823 545104066 974449411 102618657 484065150 130469857 487115330 327395363 874933832 593992070 969293875 725922382 360355952 589447230 411657659 322642808 928861946 474498492 713857010 478497329 869492154 160597091 613489111 862086918 977470628 555447654 583554823 241666215 412298869 118692973 796723072 375160739 736763775 950859053 452257933 348586734 114433584 230086091 540026049 169743453 191200476 335562120 515136728 428812857 283786131 792599117 778564835 226460479 261681575 608048044 251018600 767453977 269658505 996963867 633140328 261335764 689987649 762454932 951044914 191387587 345794056 858481397 820519788 851864874 574392744 402854048 758886401 165872775 956032478 560481749 825040183 855036350 370805742 212786727 971768539 853055839 811808865 731474299 154003940 248945586 258208491 471577617 136342249 862379867 534153184 817015163 895799894 993056973 537975456 257017283 178990324 448374088 929757785 173797452 765208903 178715440 179616610 206435749 510363860 503310642 390593344 750365776 769753516 108455691 686635815 291506012 500822407 310143068 200981432 434089740 850152334 576713808 314495617 306518166 413246914 940221504 863581395 817584754 206428919 219726819 475698459 747218034 415755199 109847094 856926342 343402414 327235903 814868050 526501804 902891162 538989575 608222784 805365434 844733663 359279216 705035661 520642557 379763740 624312959 144145960 510800722 436030966 966977049 260018372 647175209 103647135 283789771 921190736 974802674 574002590 909100989 354385410 766148808 801291302 116841787 266415824 348094156 178086757 355314673 319667434 150076749 161876812 437827450 303972189 605341872 177777150 649829816 795542953 648987372 792438050 259983214 829014207 774512664 515121024 182125782 390179758 900682427 107374199 246338806 232855331 642362440 822832739 766094148 621885263 822210647 951900383 889068283 922473016 516046519 205429024 343185226 849217133 839018423 450515686 879463070 758848494 694715721 678996568 756839144 977077266 426988039 425363749 428364847 617001734 674425159 300629391 415457327 946666743 202447460 709987038 955053137 440732376 482338467 952872902 958944992 223368759 345876423 328109748 113010974 577207544 389787297 358537239 206223130 721702746 481196062 268465792 791520101 410915171 808133892 216263677 405674629 220153822 830071265 241673264 157856742 168261904 298722458 880355085 917452653 848536822 462808199 488134177 539702954 847258408 233684711 642248568 879983757 752948582 167033462 265422371 397696398 733355287 204837763 724753085 569990258 546158725 637329955 867039417 186208981 887671615 613010266 249606087 928721583 231893481 970916622 894389293 174032096 501829007 899401766 646311716 268248071 772424081 923168800 424988827 661319705 944514500 488996171 218767395 167414808 233191467 673063743 631992784 227381304 344462691 889480826 346836411 224712524 974971698 795120664 145866746 151390343 214976474 785070423 802188151 178865689 851706440 116348624 503426569 617060596 786154342 642852356 939040411 663668637 198220669 577290373 862556086 295961339 978693672 100290032 401220344 684508123 169305800 427427581 139490129 313589780 650003733 199251171 476253242 880879862 508963604 945562841 432856520 617730342 621262219 346243115 374183106 645605062 184313521 637054605 568146533 765141406 540863696 222425738 963403383 257698947 299523447 299623496 920804914 168230808 892311662 513977511 645086821 792286420 910614638 251214514 641670497 477947908 259119627 882599773 299972711 139647820 412011044 176233058 776275843 117566977 448736657 512663770 481933714 271187752 756171795 863635387 541227743 991460783 726467703 729594500 984847964 472155573 660222272 392211331 401504983 544003667 298013518 816978719 693452341 442612215 318738357 809153046 224382910 998362455 670565610 727827129 514334794 818169226 922264188 847254222 823885099 200912616 398308068 955550808 833840912 369101491 308683074 515366603 888892608 136472256 465147078 455631327 764227944 117447627 320755330 851803908 162790510 874361387 968079604 960104574 505337355 545116010 118176540 376090835 228578970 447287382 785543830 667529539 442884899 671570048 526055551 908167553 464618628 952057786 768327949 431257010 844011512 807637267 411181895 897336770 175668944 217559008 649867592 175210953 838520577 713140335 411796405 814760390 495455878 566663595 455527416 419242354 608516270 628086238 100168475 509807675 357695160 819351093 985010775 821979542 147848241 566329960 600939191 271618806 143397494 434290052 580488368 132906147 425523174 926001377 279656962 464886452 426894900 353641997 472476200 917820868 509904661 501682049 633837811 936229629 132022193 583536413 483168701 964480878 787512544 168965936 424804686 844937419 798007465 873453092 270051393 843905915 810357788 116630098 720998284 804240992 441591924 461131378 644553995 146810444 961432745 567202521 760745427 544806814 316235028 647301103 470422658 386664278 925374472 519366961 604396393 979620576 853301221 768478768 572121663 814738825 415560639 386641507 576838539 880629176 106985905 540986633 331776131 397928793 762885191 364667686 769239173 534843312 681319773 223581188 244724010 626139403 702724546 303026711 826017027 635733982 902572771 927235899 657233343 927316310 848342031 406231969 560104979 861280106 159057003 270939487 647967054 230097235 139846605 324267323 706579540 981403303 362742353 945903183 223892153 714678865 914835176 663123899 934734897 792589118 908663474 769939246 151659361 143130287 511023816 739383138 121842466 625140611 781095019 382337905 673816677 913354226 337425316 567680205 213634402 992668200 976471159 258726844 995903833 190865141 895994220 505499801 644196089 665538835 810122531 375328425 553933770 915499429 979871700 246615630 996025534 507397620 749919615 483026404 170439743 905773132 306145852 564164433 896628330 899069432 446173862 873883041 452309181 226603577 985952924 953355925 459238264 375811748 103362760 724434718 886731311 581049204 707677459 343311278 905729219 775760660 864033729 700352959 429844394 853046852 741846074 911032008 601539594 456285899 407536329 651843428 673170573 688687829 164994976 789822345 375921058 678053091 781986589 188631649 203812420 595850019 265872710 748238051 570762354 697807676 384456530 425393366 148682327 414615088 917030495 957442318 136865365 882697640 999728123 183878111 621360118 448058903 584500805 947756343 126251426 310689020 412532714 768196344 828710501 999033162 102862733 555484732 819012397 264454345 816058248 854474272 556626619 802697898 170288314 357373500 233555516 449162089 440230829 535462024 380585464 418230860 894674986 770018816 771278044 355220381 810387211 777822484 420165263 904243278 127129398 519172498 389709253 528922139 457289211 639442657 165502068 860088665 649441509 160192056 258465007 402446381 130461373 285422473 167294414 459440675 673291657 200800878 907599509 392304138 675759786 644645944 572545408 584692759 196119338 609108736 210078472 718156095 440044492 758032672 759811737 464550024 353077654 293236243 934025972 227461606 732796834 758750598 966419654 894639463 558417622 862736183 937313310 567992359 356445950 472817308 115396829 695891742 194254304 577704077 302059218 230324310 558408476 860113021 747400058 367213913 183053973 872142121 989773778 124527720 328349967 880779246 951814103 434546098 862879273 141866964 813989128 547894131 611846692 654276860 767654824 977536153 110649334 377290227 237697960 824896090 173196028 298921339 892088510 881069325 462620626 938926944 911248130 605335136 541423772 544215763 231423199 928266293 421536784 216647883 454029878 334602173 312947160 408804610 628077448 538238897 620232958 852633676 869193288 237160233 608787745 519513580 206269046 879921045 226038138 150738837 495657658 438088392 723039419 519264240 103479210 624776024 601226926 999974064 799692852 867558895 538875009 172070274 396884680 194333990 271190793 956247761 350722881 383922497 893165900 349589510 237833864 372572277 284558303 553135995 648752226 589966605 742136591 395793671 886128272 566356184 391144071 874231894 127385946 161453414 662909082 115670757 847102765 504665828 423291700 532830543 419070815 864825455 719774818 748621672 923890227 494617696 451192507 382038249 731143701 589797840 790136822 511247745 824196202 275216872 927502873 135510087 253861789 612406912 641630456 958069665 746789042 199514157 523761777 157760274 887837496 131710388 948530842 759301209 929670468 680266754 916461002 503400099 549083486 957403248 469124220 558535320 485204137 914684913 634474846 896568035 152907884 638363373 391179039 543070864 298586028 108436636 275214100 436142008 958305099 584577050 803526080 178014438 691449589 649749218 630804136 413092690 858203129 500054428 497152752 989291879 712141232 487850760 256099383 455637111 933421833 943075476 829705521 562682532 533602042 812289081 551798470 732465410 725280338 151911669 828842920 570565810 441724701 254519873 599655399 624595280 490550850 318337512 821613689 414483366 623638848 960629487 660435218 456968317 410374548 652027554 351951374 243498914 195277863 983549572 926941910 982634280 893475148 734840763 305290439 733283075 651492070 919068685 440488779 826749434 179134384 408903386 443527232 536725851 365241389 873656523 804271082 425963598 448023254 972633413 891739905 535150820 201156821 169676559 788248809 496411312 481599422 330197143 100946666 481429539 384121829 689000570 724740289 605749398 289908948 563104009 451756507 641904846 650234386 190492277 771437224 354582911 713479046 743118918 904407616 479707579 213489866 798543458 269559192 546928717 960272053 912082585 628549315 590250174 934780108 466209977 604325553 110168587 386241337 171502762 695664989 165385085 428981381 827052228 791111649 198020956 433619280 304906688 166300142 660480483 336063040 768022149 321477310 862119322 997892545 566700935 332518282 505123818 692959434 818251039 691862665 847436673 317514865 126502582 374591201 662926663 979808922 224529934 770695124 267773399 346997246 763683676 370502888 501145358 862365095 391093646 777578032 465196266 551993927 624522643 168837032 326044853 764837360 703446908 356194607 100982030 537700522 794918468 300302474 620704429 352758322 515090937 156061918 152760612 255938891 830209344 132608124 170141776 591334971 284170775 364202056 144732176 322204432 500755665 231121789 431931609 861303393 493956749 467595229 857180289 857227364 611928068 662598345 679735144 363772486 728455555 880592526 950696402 749721469 211471975 881481725 251605416 313675211 692673994 637557663 219318577 854046146 482369921 966855431 186238559 200662916 635788472 682815102 558166133 909139899 636406682 402428639 519424621 844746641 526354685 425144751 408353201 289696612 993228492 641420886 454413704 924174248 454909580 745164508 307425740 700979358 329688942 742918578 377347918 757902323 997231030 452831811 262283356 747048358 917223621 946657808 304310566 663267353 907272555 294728331 422431324 646091733 982113019 638026655 191984419 591695362 869352500 607423485 332718539 109161543 739281905 735694079 191957907 813453678 982023679 653543619 818370181 755455368 941528262 839331340 719308746 151584333 661217722 572698258 242356825 970507431 443577672 505089440 212095101 388295866 910098157 862046806 547054115 301009260 834922523 507631907 200055913 894407023 672210137 442528838 211892821 605566804 767163390 712239732 477379928 562479776 750517751 931721760 444612849 780603421 913278566 738529029 155904518 314338577 472307476 115924608 971248115 129363899 455623763 665054760 471194819 403525507 170006087 798850033 888897926 407977641 139516084 748409758 976831712 516061681 224519384 633186054 996488965 607717920 653094727 179925286 905340631 553156719 440835264 846213570 360594566 161151138 804715750 990990014 293781521 100716556 792558990 556203061 156983721 712107379 595580734 598794319 733681519 974074195 345813648 139445781 965268883 340043670 412160702 141976627 284318585 169581206 501096108 336811035 770843722 594809461 802887044 286511724 767772403 261585310 863072596 985242411 421965289 903337181 539665198 475577192 108612278 895713420 977009983 354177074 553953826 108652205 473096627 426424316 542174821 998379160 617455354 178580892 433524293 418149145 606224286 495106959 883339457 575644331 133014128 423117559 524132780 714440334 929192573 816856426 841726441 694864211 644206762 681964417 291048080 782738612 479316544 436542706 742651506 645076658 404911027 481888057 162479126 734223900 417000237 121185742 450375602 557454014 112204142 862203618 907309659 714978636 395794988 317183873 436960515 279866181 253977353 965725417 831022061 543365955 546007773 122711847 666104442 166825322 787479112 530955496 585762270 836541460 393234781 487080084 924199298 810481848 795941589 121429809 984338762 424726293 145855979 500573513 549133932 620206372 368651618 372242568 203216372 254176848 392448322 764851453 394765609 206229511 607031510 149889428 791384000 299278286 306766488 299218153 550462448 299157167 916983697 419123112 613950287 751324976 343566177 155191812 114757930 287021425 359296510 564204239 650155713 816059847 230606575 701039961 776468212 678799347 820666739 319270420 561325206 962245283 795439392 876027750 845606869 988159800 464570173 890374199 662101659 517858688 948067086 924794740 724201309 659156796 112990489 446122929 129988557 466500680 468769821 396481178 175790277 138698478 371918567 834389938 880406326 198778211 945723323 181090742 273901415 225951629 915255957 911835334 810792292 136837107 713153321 841721457 112293917 764972674 139729813 979893694 644457075 503339728 573508885 693064723 398873590 373673098 150397981 406423409 511853178 457091347 200397471 180829889 451554466 898018251 778737764 225427717 419040979 611778441 264422718 435523770 662731164 448135947 602380342 918479507 203212534 160947690 750904125 513678825 653568519 406813231 230456290 429117678 743476591 766776263 850124073 128309157 334051557 947830942 180077010 810448688 782851252 108498322 215426299 678025522 397080525 891389089 614718373 304461415 345170098 672520249 910542962 822585598 936043827 366824463 636891871 433939257 718916163 460417814 989368956 407975972 571990553 343577901 890089855 468569730 940570483 150617975 169328776 666992375 260475477 127821671 328264247 448890018 145149426 663602654 211252533 156405918 116436895 307791457 376381873 381397363 488931671 815284355 819734171 145636409 895825989 626205634 341186151 809065959 494473706 560763562 717331953 404501739 627502603 699192961 649022616 459961956 792413729 680975519 337972867 405413302 817626708 457233896 460430212 878547629 625665201 107625259 830006658 189443197 949996513 120626076 437718216 272257801 686193440 363654268 887405246 838043893 179104444 444943909 212997151 334779271 528266304 912105602 993817804 738206396 828316453 711296698 107038390 459688062 234607612 586334622 329951853 707596905 126853687 404166132 939585368 578478111 693294777 886933168 316170736 177273501 813905878 840082254 654183210 224049033 183152455 838927786 326782738 298728121 955899065 371322666 361306984 205737145 686657303 510321214 887869150 289622140 237067279 518123204 975405786 114333712 466188596 544440121 939273207 541300699 746044004 948202732 534339450 867235086 526038265 277975832 885461750 595543524 182667834 209473078 956577590 797519445 236780531 263199285 873142725 287946563 503034854 657889255 452877783 328349522 629720826 449137973 215821380 303276201 515203207 106900898 369290102 347753755 357596401 268059295 413493639 857189840 336891948 966815968 713262242 174563606 793824303 107293928 174284872 434316579 377834658 551368486 825197551 759830552 422555146 829410921 334459280 465494002 872624794 685575952 698560634 560764702 705768559 392061751 621413771 557631613 635751611 373671410 528513025 871331305 902232116 947936259 921856131 917532730 994057636 668085234 603718889 352782394 180268824 363095023 136534863 952777565 495158976 538318015 491401551 232435461 535254304 326566593 861133631 798930638 160499795 307323035 878117222 763145557 337919724 607748258 160359501 330795544 109856021 212676008 742117004 713317485 215840752 829315604 348016640 352490758 559630304 649557902 575339529 169811636 773985704 819092525 915557860 345680251 622003211 618503637 849843816 926389271 649015372 932945847 954380105 956038736 193242986 108254417 542407991 478366463 108213040 910254892 536642315 544947126 277033908 676623379 827283884 799997329 598583669 330459482 750870227 648103351 971315201 561990495 316330411 573681449 303165456 366661073 628132839 982505236 714091357 201533210 408412000 118145588 901130453 298777973 231748293 996750051 706335674 876841954 280897764 364813712 618187435 353979061 947927936 916022445 319369981 398649988 796538639 547422879 360410391 682318268 426255795 516949598 569962806 208920109 456102140 365733613 367973278 665418432 302684346 216169746 128365948 718972865 918313342 358877669 800852921 315018597 624617874 565253067 963388744 730578345 535012398 189902364 965583609 556156884 154057831 935471670 327336656 203264346 769618769 253470227 573791852 262217827 657267900 588411495 358170550 661181570 509006852 279125099 647209691 170320733 443958849 699300244 657199972 598971977 836832254 492537452 194264520 221913561 407666075 767925371 753593729 253392378 122306239 700106478 696860175 534440858 961619230 700916272 505025014 854772966 459229479 140348591 249868192 816431201 984547008 293330632 815222423 849068457 433021143 313669494 855145888 506681679 281652283 152707990 474351112 400706793 570935210 917881464 514169294 133683686 624280560 792228448 474999011 967065114 886195437 931852284 768725052 323916966 582301410 793976522 908523523 258508608 272498262 244279677 432646231 639609146 304640201 413937709 671891880 982708693 856007444 574760461 528779775 843387891 881583343 938922808 895961228 613919033 259432947 139103795 360031372 314514726 521885327 665989114 851266006 977607466 941458790 684302925 458012240 911650483 234187860 401312174 281694651 916567145 145954091 863865188 794973325 599729504 517782922 120837159 434343808 666734090 865042082 740033434 920726008 811732591 704835336 140007829 555980610 909982176 344503402 815042076 842486795 312481816 526101292 122037596 439005836 747402623 915108203 360896779 620558188 674560153 249336589 765285571 584138782 403899686 995829197 312159532 729182025 741865561 963112650 245068348 354730449 882949805 851704433 962234394 330663343 769668602 796420955 138126811 689953326 896450453 542585942 327663083 726051492 424747779 685411371 123462553 467044036 378015157 558839274 538202558 397148934 593483758 479656100 737576268 277369957 824398851 845627863 134015371 174085922 422097761 404810956 424329893 689119765 227611890 214125423 380449710 445519905 746254460 701784780 218073548 682246071 366645232 451582156 378563950 439130371 377230841 121360071 800231602 339827584 117634453 127607881 738102770 430932237 968543779 746847717 723608865 770532951 897882036 820619517 681041671 145958027 853921426 229333713 793270338 717692213 993647859 306583154 980712396 441827349 525312017 695003488 436670691 523045949 770028378 158181603 161664767 157435867 400594591 532031699 894227778 518575296 504725223 621451302 234255466 896626910 496781446 593925336 177255030 585721948 177019072 254927291 876244473 926744846 939780784 898979203 529784530 684915967 111387552 172196550 139052213 846862688 784014124 744135539 702790645 911021184 858335312 920248463 109033286 736882378 504156757 531835122 459914862 942914328 413454409 574579108 693255726 253612797 317369247 679349063 330988931 682741051 821872412 997987891 366476434 733826530 776488784 673555639 377778738 402267876 598686098 324995427 139839414 120045899 894018040 377028031 119589997 499427756 529582270 700513378 700707853 294250293 225889889 725511962 654640795 572495138 784144927 704981511 235354130 273937554 140020961 804583979 683555697 858925690 631196663 392546966 729716955 494235896 520787529 689561714 913248470 469004087 586107757 956724367 298631954 759825022 963883260 134223290 759946598 965120545 218013847 196255341 461674922 985823708 932696247 783599214 679215266 184567514 873385888 194081580 884957436 604745808 280488150 634123557 640164832 540952360 842214380 664119496 258166856 309036462 347472860 609672687 594207974 381116271 518999981 684786885 877110535 392860983 311588075 140624154 388114255 151528611 396224567 960173604 640769500 879191586 157211709 174551747 258596601 464442715 345327730 643853473 727040568 160608079 171970703 940147405 359924445 432332094 775012883 202438479 208167860 409311995 692545765 884167780 820532799 636178394 130349329 835365668 490378802 183190890 294127459 517313169 192520466 622119326 724395858 554883701 537023193 245781049 837616096 510358074 380091675 620922149 507043717 537823718 385188523 650272099 786241439 980282157 659979978 452892262 347867056 549013959 897192845 489899398 503549734 460880828 468441767 664434626 588975628 396471502 573051203 377221551 795853990 765938314 171743264 785997335 454041647 415675052 602248290 657095844 671912896 561663363 925195606 627912324 896371754 406675471 641953681 975648449 907826839 481417822 568707372 433565269 254210109 587444575 838317786 356892233 557109733 523320870 959956058 191760426 246021783 321920582 318750288 483899064 984164491 336440378 253036541 550166125 979102069 949575128 403440496 131129526 148400397 150580949 546196606 131312633 296319318 680386938 379667889 355385904 972230625 171725410 914404274 193477004 175578691 670135182 981403331 774515519 238362750 427787188 550884243 239351646 182798539 562728083 415549417 758761452 614840444 687001381 375929212 569564303 299776784 872117784 396646664 987893374 727869479 339925570 434447198 302275119 489954519 253009908 773358039 469223513 144321474 353582133 592001934 913778977 142382458 396264806 974631645 838995341 660874445 705058380 974391594 119259545 644831193 231173189 917667172 218234147 954362406 774557800 304515273 145447262 149657707 880418158 240941803 913305372 320993135 195756562 962843171 506862443 589182914 613951106 563655767 782391662 132972450 104666541 538237680 935693326 174667755 774082618 488311662 123155465 173888267 838971626 670349860 158894036 561409458 249568996 630510911 196240893 108557220 973761091 345655187 355642031 870730812 149706766 887422362 192209613 531742500 651796953 511078602 129083962 958993417 921990418 604346592 799203850 456251947 656642673 668896795 120349896 927062825 898526485 909366702 807171272 121023879 110751114 234388164 913181357 566492278 272541339 759485833 117689173 796065258 850015110 808838506 988983624 182771372 833092474 481915267 816833431 905683183 476283135 953069801 135548428 897011108 693922891 817526458 920031688 448652720 470642755 756263184 860449475 203552221 365470055 477106495 799582213 716980619 744636545 308084189 288717913 713574380 539252005 221027798 837704791 426588477 148966610 951549656 501559153 998679499 119314815 394304936 198096562 683905601 744071691 915582558 909291716 391869028 667785311 635292447 603859024 999217944 785405698 239296349 801319097 786498170 305526831 316873408 600242849 145295033 696402860 254004333 988501890 627236232 255343845 930570999 265516447 222828016 681187477 568223744 927083712 138820363 706994025 954946744 364030304 802474135 497730127 133458978 936561198 458569677 718939932 419221466 761212141 439365630 317519072 885158204 498695381 246032865 373859938 782426568 130575000 467618275 246660809 618353676 869736657 995878916 754126332 104241593 598208725 680081325 500020408 101863281 278510916 923851212 382486757 547185690 658266746 623472101 696758345 459397552 671665462 870867543 486170735 511023307 369518139 961610086 321579247 656750697 196763659 447746444 699910051 874462520 525611972 428884037 732016040 656792111 533230023 335717181 430848605 265054852 653945846 992109395 925796591 958606425 826211694 990685605 413917552 701130512 184201184 682122972 948034229 747896336 629517626 842750696 501285898 708204860 476073122 707036935 354001851 536635978 876602122 576451176 131838728 935704135 900305385 273896842 607347682 949412247 403606667 449388424 203436145 871019523 247610338 473127247 526059069 203419849 703891290 178663707 661608493 334598075 553082222 635687995 349653012 440972545 336589476 769785679 273328363 210039858 863378264 971204636 677373218 583782375 990882786 168207245 434726693 772552609 402033967 740533203 307612578 666090978 351281324 280229725 772376249 846049625 525506700 459987519 272254857 650606516 353817292 286227094 582148656 170571135 998327325 909384851 909728054 688160427 810634863 468336577 112042529 111085743 479272388 842018654 571932909 173685750 324282430 136087807 614437436 476864441 714517035 876679311 162828648 217145241 809901038 222515965 282280429 915856044 444929707 754373845 714576203 403789342 530735792 785805385 418720366 750224668 923263517 769345751 958033101 511274286 482550645 724220802 907778348 663077257 848011313 112621911 490701141 479175956 890576915 327018904 260006809 939117415 168437591 677623512 937747430 909344402 457230939 507834476 915796298 122657128 567780681 304404716 680538387 776964625 127794288 361840116 710927586 101913270 202999841 454640525 779551793 595035833 540521723 639338565 274739448 180786907 868203318 519241528 238387374 345839210 214008668 756407380 653611067 333756042 322093620 237496722 651942202 509385938 786054945 971131840 251339804 440014236 521108027 646477464 360612638 817009902 162605215 439666443 382467151 291427309 662813202 236140171 877694198 381207741 502181644 622968009 614209719 519465595 504107058 991309081 752130173 457277531 467468412 573566316 828403981 210225871 979431585 827375462 492316147 477022482 223466469 441395017 592684984 270542846 388822144 586844682 393285195 174437720 792654534 310717068 638137221 184745056 778818262 533890710 682610708 308445008 256856271 799236077 702369574 240369341 940228881 896296275 236968145 730312552 222840664 645145511 140878234 567527275 432292779 510667585 304474114 769624901 867643232 954993380 427422425 671639246 958662366 898091774 221220206 439422233 439071391 292802759 919688246 673152717 456380712 337294448 743501765 303773495 985019619 736020293 238075006 533943182 321368429 813042529 316732956 331819223 366300113 806983313 428353142 549079910 952080723 790570175 211887502 594713933 956738820 534293566 591051740 784912421 743758718 181785102 341816063 688492490 668986457 599130756 796695643 111559264 357574745 626591335 592363613 391796141 485788794 849665109 277492766 642331718 206112897 970831700 473826743 161863364 333586431 458428237 340248649 661844652 654516039 227832953 588615097 606359213 920827679 344439158 850675643 349943965 614051842 283500974 989734396 491565336 530569559 267563307 221208205 680746787 790764799 750123526 986275709 560182227 683237937 634709416 293147385 107377143 556483484 998659193 396185483 274841838 910551919 979266622 581201152 504937112 559106740 590871198 720730470 794142428 457309288 586714267 730310646 105003623 839232774 915140068 256057605 253157107 747831118 542832848 816719420 832020072 672188922 987280965 644403536 416168831 570892640 824788411 415966744 673725200 775505797 117390289 977520974 911467287 432758467 395372509 750501564 620148385 981067500 107655054 905408916 131884280 278269334 652945525 157351325 855864219 447282634 139033925 422347501 606219762 261041890 514286564 648263398 388516076 532639502 837732728 178319246 358285353 751792951 171208287 708224669 392631893 505818662 382514647 653869381 205913253 338729971 103799364 963500906 324011885 455112089 406582752 725873589 910422125 283506201 839068565 431695498 132702713 465833017 702602994 806590391 325910837 326594547 798927293 525758091 245285361 890591946 797192538 934763411 932029243 984567188 589853056 336985310 530927878 640080128 323500370 557713120 661990225 468446228 402752106 632135765 374624777 123066170 922527160 326521457 826249195 628848701 535961529 319503718 499625703 508246905 284856471 265058619 418324813 252363278 334168477 199713655 950498157 837651501 887360673 693391723 428754923 335461713 258786996 377314049 667037953 458358047 976887351 895140473 194416650 590606078 903482054 626246158 329704077 298846620 308715306 167289705 402647434 826346965 730191617 763411844 827494329 882781956 615602822 497921926 887766134 505352592 352334187 370711444 862410123 485692671 177432746 882095025 907223620 852332815 404320077 230290018 232896209 804410188 338882736 166694726 529055461 415770542 163390306 819221430 923822909 191652686 316785668 955765509 571392660 440408736 439039907 949126143 417722171 684153020 442806692 765902341 486321969 405171232 152933830 507244057 776411175 336759023 920177397 487089607 798727556 632223491 484615358 606812413 765774218 364539041 544098053 896108068 153424781 379534140 545217926 308230720 738909698 834890625 571061043 887934207 382996246 368685155 528723713 539319504 985614467 687148409 278586982 784196104 267239667 506490003 801876824 968014263 468373017 752711117 775445912 191122593 345639264 520868279 394782168 997940944 980841324 388861539 226685561 253805747 326273629 822340423 662492923 364552166 619467910 687332659 174595105 540853131 357011476 295567699 933874386 312685315 945384242 494001098 663120448 376358367 635602581 128947207 415436745 430566706 733664745 979006206 784233399 545578761 209290294 568680102 898155578 988549002 710172893 718212754 977464645 173673195 302103364 207433365 616688237 243289069 700435894 659287103 467898267 800956681 293854619 247838363 119574148 947434529 442338709 965234808 249698885 495766354 379997294 791934408 993968730 857401305 263173808 732198813 364647186 183073491 544575220 468660024 720121599 357932425 801676714 462399430 654182693 663363418 158219195 639930988 211269926 895338781 317723307 131233132 120334995 167521798 684023890 786571536 593523003 870863844 945682632 813155312 367529665 778678328 694572592 168939171 568643807 429288265 118276803 625998628 841399840 972183272 648064578 336721925 584079959 984123480 979057804 690250711 566559554 580730384 993262355 198672323 288029416 391480759 449267727 289230597 344558868 868252607 503996671 232139036 727265508 953644429 626348493 378439788 636262930 661489765 736973290 407958942 235515701 981911463 750674922 311099012 297963093 930764875 350561007 824089309 582760795 774346472 744198126 928451390 115264772 566644944 125545262 191345721 721028284 500973234 924468010 649413228 514375487 599177400 247580156 144145217 962221907 957111913 337079421 586021480 949272375 802770355 948542478 313008181 476742227 610090270 378567296 705918211 428569381 344631182 124402141 577838539 367690482 241413672 995235708 223674578 703328136 971827361 985447921 820084872 341285700 843980780 322502058 717458922 924821314 230517266 876818976 163431485 625532800 210079290 618177424 796066616 157636784 581869229 872298451 721094591 657045436 445133500 625791555 773657667 144245658 370455540 674913678 228060050 828672386 844695247 507710460 882879191 780499027 262498830 599381182 924530852 391941448 982514586 369416572 917289938 228677516 794255139 813810394 337754670 175149387 910006819 960110494 547138622 569245174 733018236 158765058 768977528 364238131 590083210 488003820 283588884 215852594 950141109 283766953 747298516 294044347 434694894 225478900 385841752 297296324 271274494 540297463 159871243 458801795 553133464 842680078 694734491 206264821 405928269 310262874 451447939 617678988 715738769 171277372 794731946 750254140 711363232 375884072 441150534 471280775 267975459 515212274 976144970 672807485 779222492 917808335 338440292 905575612 971134437 574334410 381639407 726958727 770617859 633408860 310432161 511130615 917595020 340255131 165631552 835983765 264540892 229173804 588983155 423206968 806410797 583630842 628823833 862974767 548400742 311292721 457456823 860884150 798969801 917016269 692808680 716653425 939087730 561625146 400388853 524860096 560218553 696835938 251580872 970171139 298919660 984943011 702220103 769801914 708277098 332546069 769891589 543252476 642259086 756650577 739917136 680748910 249749397 934437545 106272373 652159794 913325956 329908131 943580321 657297955 692003061 700294410 384220159 800377626 959620983 270566365 172936049 405935122 276549522 435283108 123542087 884802224 316952799 411544857 283940033 229063175 155244799 777968141 398644797 636921035 100946084 601064122 426776157 573160271 336918790 683868052 472575262 603470250 794835481 992926992 756267803 469564407 183935350 255792729 574190870 558658102 543537809 204034788 208573314 543560366 949615977 703675242 317421363 720899102 421508106 449627905 275215093 408486697 315371247 518610257 290142914 535323900 993501951 599011559 521170702 774052779 496663134 178582077 397022361 298363810 907464943 373524313 247584668 876011607 288564489 166719581 576297362 640685050 185312864 402945037 283336523 585272547 765604239 605665523 353239758 886856415 375483175 314622834 313478790 275836005 331978538 359848922 294935548 709306371 857890373 916847413 643484559 445212607 272693280 347985150 670017154 815954450 141571475 759929248 478170297 239965902 453624666 202744208 752889930 792735474 917646862 743595448 662381935 724332007 188711774 726623415 449400495 300235393 831610979 829356532 138249389 442033374 943001949 641950505 424476761 996632207 263844767 744579995 558786671 557477758 360337503 368163226 100622660 415065192 392556665 401768982 585323975 919857707 775298129 527765916 485566271 957622340 656284045 417404273 991803276 513678756 379259215 150862599 121826985 780720479 422259596 110365604 478732669 620125551 679789487 985936110 959694423 103124393 112753517 257867183 662148354 975435798 922710022 951582129 540248991 539917916 770559942 747270459 817216815 766282918 644699538 917596276 293092756 873991339 242649005 597978335 740246702 124753165 754162412 868352627 870954264 504069737 562957937 380451045 908626290 697321304 690014827 182282826 574405814 107833083 992430640 114290488 966867404 757721509 720328172 434705805 634079160 304940622 816063298 950822498 953305617 162377044 246563299 796023200 478194440 855190318 487461595 199515835 694934866 744075687 960853144 330351783 581692748 597726512 151534655 329756154 999973491 901367537 461612975 785635789 976837749 667629672 817334744 491667190 232801499 264599977 413385364 478110585 490123078 146577341 917371903 762505452 221068977 432144609 796011898 754771334 367608014 139718856 325816836 841219987 642063646 774607410 583871277 822469184 466982022 413420768 632108435 593818471 885377850 444291936 395016708 431704822 890402828 639052252 607400190 346340924 378176467 918351977 974690733 785879078 908888514 723542927 651831259 696117896 514519794 591624921 875226709 506288273 887965007 690677422 683685199 530416469 417082944 514953466 313725336 454700869 257661744 888654853 365133715 525162003 362632962 868576206 549878108 492540563 819280036 483625929 574752978 779411879 223843535 405375455 949679574 950704036 469534058 131125809 143918884 158241719 282646481 392522497 126401850 237409392 206947804 728364305 355401530 534000622 201394099 401434145 550408175 977929542 152260702 985555779 225516873 542632812 457663432 588620513 404485062 129108954 903955388 388228377 400962510 260524654 926420989 122675351 712369185 116298441 642064280 404097819 780948526 155427416 118832287 919869775 929923854 847395336 941746782 861123582 378750849 584063423 659433921 809320495 995941189 108463397 462676403 766356044 617230099 248734506 540045690 710173788 225090806 122407399 567021101 108770461 229992754 131705106 786119903 836948893 749429778 686444684 776237209 773656291 913424364 165898530 165597194 471335387 848855156 740378619 222348014 960204574 549265630 162435951 801623037 368217363 110118434 562388498 221701613 471027682 934996049 968072688 918522928 236873985 159733663 252128018 819591707 830796031 989645316 980372226 536071322 819009144 334691762 939732580 802491511 215700320 396634998 637020929 983060677 208766766 688086006 721515429 464312553 268101292 993732208 309868178 202521652 873713821 472505194 897107091 199233929 412445031 721541082 263587378 154148224 321875488 674615819 500232573 168221958 757453345 976723372 525699167 219130018 763334872 281119044 551805318 166974079 355821769 963942755 505056147 197498076 696787865 324168723 298394579 598315074 999401162 677177158 884584159 370711964 415209305 484302194 443411789 528830079 756396465 765711432 611428986 889925384 429821223 852229533 341582499 323700633 454547851 791294681 594002817 519841020 198533107 306353962 505037345 166593097 471461419 846667444 474877503 887656015 113631191 457059206 271330873 991393508 922758368 652313224 897826925 719658691 112001347 742310942 412897998 860347022 865594342 851562381 429157504 179122241 134966996 295915643 635923889 950230955 732278344 190833543 372530888 528899758 109544032 743603193 258829200 959985163 842643240 215555395 267165185 820865653 304107425 605825303 183998081 209061628 700102890 830471017 353385913 540346006 989859418 835039012 765715948 818217023 530839562 658852116 564990376 400118144 416902679 374154512 980157214 943956085 609694338 565194364 264648590 223489465 713600816 931243157 474832417 506497984 711868031 131308365 914423049 191309214 975688728 189858333 832750076 886536370 372166653 279093829 621546789 484104840 258299536 591429771 812124682 307269846 464255530 378758679 573673751 764935836 433064100 988648380 183223328 774074982 917011963 433769806 154938325 327112873 791773687 603126205 855047259 686397201 878662166 536828545 736513219 877466644 110767795 248641939 889712574 755970845 731718974 801254859 589886854 225211834 594469021 398722521 701577487 758187903 492846064 593040428 467746872 896581774 814803635 327951500 324608459 913973172 734835726 704163668 916292839 319821091 214153789 495661833 737954435 944155555 595902750 835665530 853250918 841223516 952703189 508214882 256672424 959944195 115704804 828845547 960010730 830519873 671573911 242219875 929380652 105787206 605609262 678584498 831396818 732096414 448165649 545213640 292421861 470371825 875141018 176759426 850577606 714246499 770571530 905548924 341717603 471053065 766267727 297403234 729016583 541126390 431220277 339300201 548633913 435256956 228502491 647037778 496865859 461215637 958310728 369268001 665214835 643811714 686630841 299664542 919018106 708757394 641939536 928864569 418593988 731180675 524425519 374676764 127921084 350007263 907846700 150736868 253658358 402722931 308015384 526445704 100421385 203572658 271341932 487336495 970216564 485333513 668564753 199538486 680111764 588947079 727889302 131401679 366029094 290394345 902908568 841582383 650039675 834655366 642561050 517210536 829020421 810848289 501008059 702220008 683562622 160401045 201971053 682791368 197142378 167248976 557193401 836005222 441077611 225651077 871494239 269765679 680183678 552848986 537681374 130051341 607692269 382832247 407065390 657187409 613147774 279282835 296735038 513440055 739681590 625673161 790198573 233440906 964764984 635821628 324169290 413993260 197476435 901312248 780986538 676948736 891961231 900564195 315942542 780833435 821461292 552090561 543082326 219261036 308550698 209884831 311434662 854258619 919286697 908210444 517737432 207188400 351431141 160601786 729330794 684436484 101569249 600776278 366927184 662617996 141166012 108924090 558253781 439222942 659399253 869856826 594512841 991776936 760753953 457318386 988931094 357575561 972480022 917259319 671120279 509255006 549031810 793325919 451216660 415178451 632456035 807792615 882962983 989447034 333415835 164537285 325178206 532382801 285800991 392348600 629607600 149453892 553492461 455656463 324826879 171829486 487236062 669721054 747417276 235169399 303007082 697981808 487367751 792933374 858155522 727972079 517752279 383648493 347853407 675334188 587028214 713682475 688979475 846532613 236358369 126416625 588322352 333497765 627299400 792818956 527682401 330968576 736726862 244377805 885274186 849416365 739465902 258695190 427765601 816986401 388746932 398016803 924262101 410980783 884840665 421887717 701584817 647652255 872467695 852868643 359347719 873133293 346971989 732132298 678180652 166411482 530869638 126728901 574681523 927684316 367103084 878059013 726127652 898761122 756839959 145027874 107445446 300438549 638987690 282325519 449810508 221392151 284557161 666420478 807460440 567604251 166696753 287927762 983612066 715670181 933113707 596036922 965411418 428721949 694685109 897371594 949138287 514309239 360138988 969502085 675331267 569971980 300357367 497214574 997077116 137480612 513639992 472165374 443514887 958129002 577906072 118571308 684899709 939455506 373892957 210696545 308401858 606155900 232000859 797213050 476100636 761674099 436328966 943131326 455159721 981151424 618919897 521084712 623220768 395963433 171959024 338501719 466343755 532551796 746391439 499300557 341007562 918063979 841318194 694965327 715350086 301207795 636731144 724672174 278552877 553356519 398179797 423955435 574007851 452734821 182450501 963370883 844911414 671048497 143239522 291426856 655553491 828763073 392309903 725935797 501990331 768961361 851655716 592553191 472486725 217489943 882980992 427761345 309868509 333266173 915639035 842885901 904417901 402436541 500574087 337689273 653828172 608610681 175855960 413106868 782348167 284907404 426236381 773724641 913820023 895038111 860930137 231095382 308021469 610328695 945026808 110364704 730890446 901758777 799864797 895019244 850046212 487084765 348320095 560822047 208019510 240847162 396956631 649986793 673885370 601285443 264691930 604389781 547104311 583237827 919320266 833509735 843428407 149733476 836411491 865013663 983696325 526997914 659960476 376394837 181988405 123573075 164256999 939846559 311079634 843786751 447313532 420644020 615222964 812705149 870032510 108277166 959515908 790333286 658535334 579241731 898560741 102786632 489508217 940942508 993715362 881243413 623936280 332681846 332703935 318099016 162062516 260627861 686805113 536954433 610585151 365656643 790655895 578396284 998880458 979490573 585527893 715115519 877586725 625741140 301342733 977229481 273001989 626705752 694674225 352586027 123707707 184610001 427605442 682775165 201851294 400785845 632710840 904918773 475640875 713666168 182106837 762508053 451001092 433507674 393542512 564954711 995963439 219262479 830142938 436630119 827925358 219425491 648572315 859462375 929465381 233704344 872127139 782796630 155579341 659598223 911975814 773727762 130349289 834622724 809093003 635589543 283724039 380820331 554130192 448671798 970593583 703177877 270543641 831518781 450520386 492979530 498135486 553249937 518909297 236078884 902954517 854091920 116399762 831835728 876204822 662571866 233266315 941627096 650663924 171474384 178484450 877385661 240194934 257038470 690445601 119820813 228660544 678863819 811525623 150539447 702238366 917070465 432501164 147445042 615371165 472103606 928130133 599606907 260679249 115583936 406238237 683631134 947882459 929680196 822151164 195144247 922807854 626557077 159345550 544594994 368256178 659698503 277068015 544731027 946422509 469586256 901862136 262346195 747685928 295469173 740514768 918265282 520045773 639630067 261260660 361427410 479095434 791741654 685886817 383424607 500147684 823733022 478287514 372128818 319282708 416683801 300123902 160387887 575879415 320377443 134235022 289977437 707387665 730324286 265661113 619847895 366795388 340047903 437004555 277636497 539938399 201874504 144480398 897509150 691325633 356659646 527121269 966542762 368634756 286160920 876822230 916150465 612846596 610444051 745098947 198796952 139385206 325480128 396398780 352891721 818642864 208536251 726752627 461009473 568047844 617841609 960728073 676048399 529268830 976131057 747555116 808453576 658472085 853235022 869936589 289131101 941319462 272830997 130872713 651054190 474215739 480851053 442580465 103053516 751052236 660280752 368628211 162612118 235408140 381718037 824631905 692901108 827034480 807317394 891303324 908198114 715281017 725939443 121270719 658045777 343258377 996143835 938483636 805229143 905227407 447430690 435082656 546874816 199710964 802314532 798832844 714031725 989116599 542981145 166654829 968362475 930196583 987326181 746861385 461437839 370911264 740606001 286360914 184535616 973400652 664258850 155092242 736035531 959129582 393792602 639407323 613595169 501455767 354581065 452204188 472813732 390137352 605717521 813889578 443226430 785030849 281637720 106981316 561040621 935044444 472136536 172489400 224248552 375785088 574499402 441521519 543891039 866609459 771084306 674608219 582064853 582398047 420624711 653738057 584427686 986636153 564402248 156339524 283068898 603973543 639191179 833623721 578363557 294969949 997722564 986589737 976513149 295548773 768700860 743373263 448829228 229173815 224580216 155759374 787255906 422417901 978799170 568043615 757630228 968157578 911200585 226761158 965720480 870745488 726080184 692873656 436641434 237956668 957018415 442516467 598999660 780740691 202321379 786103353 238800034 921920227 682936601 903183608 167307723 651038811 175040109 876464282 417448792 919938789 709848059 193740603 713158573 928510502 553521636 169024463 597014984 775926355 978271293 107595518 851032860 798817642 430733130 965906873 273668238 339887039 222383232 822464588 246562614 403204148 942160180 341467632 781401422 514059664 976796534 959165111 174489418 574332212 692384488 252026833 441974882 150618190 267714995 819475631 360309308 724538958 877564507 705300690 435093447 380213313 424606637 759500661 273882768 408118708 555518267 811791007 335674345 218784604 786437105 282492970 453779390 357500417 903437431 579534323 493655685 514021010 966188810 896634938 489270807 875821710 877147359 801808960 433982054 960248144 718670148 348896378 257824118 326657487 631524645 966628410 339441534 305291075 263595904 281196565 594832754 239925343 210227968 523446367 282123439 654674508 391190035 213375778 844689279 470528972 612923584 477643422 612945328 965043129 109280867 357894219 282280707 886067607 347989730 551619164 377341419 495256182 900172441 234509944 349526506 987598737 894805125 465138948 814664748 213695788 980065953 750417737 737681924 439011278 161241450 791635227 953254254 992968596 232668863 526543641 918285264 858686560 432080827 946011311 442274367 140185790 494040750 630372333 684870544 178707019 404814467 195958729 980471294 846051646 462869000 559570524 785815644 547897993 652357982 234329069 782182694 117701492 843169775 298800089 187938865 473115971 542145175 770267692 503837120 504807059 476176160 111514808 639668691 306645371 545643947 109456871 595761843 506244212 305494618 137827215 788425727 496125895 142952244 923106083 288173777 569074612 141353496 269256691 622244177 799236563 834430619 684156382 388981836 161476867 503226250 780308130 920961613 675351512 680374638 695140539 213121933 474340026 867871356 509447178 653111191 761830626 551501280 557127530 232221444 108296203 913339544 532945232 124147485 683536738 577215902 214186420 244677054 401730931 704264442 974559330 973779761 442976881 208936660 519057333 501395076 754691284 371657944 641815366 407364637 931950484 548922173 788024857 745714471 183506508 754712946 222897399 666974084 269007422 305084261 241978530 580873582 346813473 500042422 472240801 590703770 612793895 401452834 689212635 962832621 162730934 705638929 958644778 647508750 296145246 747191630 256566473 829678860 743780401 718933925 943859421 754355584 989793313 617416048 376131120 836710215 401594187 776635021 732012247 161388194 180682172 461953149 130947860 339247158 257624961 918982750 813339579 427775816 409814559 185058115 635148637 612770017 908488696 876475155 451649571 161219889 452721448 262403910 517039554 497454942 446754787 371983369 810742216 163093364 543707241 268948705 115978262 414964026 374324838 632232739 760096411 152216695 374213650 882651136 540113385 895438325 818021841 142332968 860408058 477413485 315623864 179023828 914443126 541071748 820640799 556404218 435142228 718370523 859774648 610711438 844650483 639123103 876793450 519171941 683759525 929314329 218103892 244122301 974498441 497563149 654124676 706993544 220825854 880882278 949394484 191590752 213063174 707405945 737988824 769600386 335824319 582817428 544797863 355513004 484130559 697832949 166752086 226240549 273901805 874342337 562030861 438912355 257157513 356482974 782811395 529326135 498465549 668493262 971654571 145533340 684304915 663872865 366701262 204856740 690749666 649713135 896814511 369088054 914687899 113540915 215156348 141381631 622952609 131841784 828655982 787121388 668310240 971660666 735129649 683845018 249373380 867216271 105173234 388256221 895140238 935551355 782015514 268775920 704252905 354874486 799884377 233769311 495703631 867762651 504084036 631876569 742984683 333802325 217851300 231205576 398660011 182591099 691905997 700609346 940092279 825508034 281114392 255905721 898203848 976499282 398183600 332583538 236114242 532875442 514158593 768163937 314504621 537309937 236903660 749472264 441867107 333490959 680558078 251575272 377327540 790417930 201715534 557251803 288695369 235758365 135296027 994245299 867477089 817995382 534759985 945088401 487935668 100273792 620123613 999218424 436962460 578842575 144962872 706314710 242560273 193894366 355008854 375466480 517069053 776915977 748285098 460302187 615790817 516079699 722394325 583895290 107683610 716888375 112464151 539628171 992935795 620449931 942814009 718536914 685307445 674436378 460464607 333310743 195598989 696097777 512188485 103665176 999144358 463225755 126663351 301662904 433215412 980123490 287936607 788704552 551555415 712072329 219459644 816032008 304709095 695478565 420866332 587421127 526563130 648189099 929458634 278788773 105714693 697996487 704302608 250898591 250853406 583929335 785909708 414483093 545948525 445757829 584189250 469967366 411199898 345918778 111672191 480973708 785341884 241539386 455502626 914110257 718662184 684354141 460882932 741327165 447035556 247776946 986435873 985513254 307184119 153788483 270991978 262536232 271979009 151578920 886352286 585801576 991169166 423527659 675545518 929757967 523632360 734053018 546146676 760700087 843392426 754690788 698878842 402209325 625045240 375064566 491550134 250059889 653027731 227637660 481133106 170094612 871159048 777258200 441064511 140012048 920421565 282229467 321109078 164503210 923143521 844867480 461811481 273328216 108157942 500701252 505297184 951877906 198144058 788224734 558851821 876522041 172938168 842575496 931631974 385472502 871997800 673095523 348520922 500481684 706970033 745903071 922498577 617436375 325537957 121304855 487058669 796557955 867791230 176764393 703342143 366974085 999894316 646701055 387237277 164512202 448428860 276473891 828909884 823636308 464820838 482148397 380314801 679376741 750053039 940848050 731630230 672371952 469288430 734398682 370334930 664122739 623963948 432931281 224879813 871304204 892269374 715920779 378067920 234271001 584461656 806833374 725128485 776171274 697975152 394700640 348301337 692509040 671028005 800402423 186431501 516549426 522946599 244984022 352699666 779613555 190185720 428222276 977954964 835185630 737485173 830114272 978995802 594498331 399495568 238040487 945076407 336911907 901735858 235039611 730569400 313825472 655139000 520651598 755054132 922191559 184755662 142457135 760924212 999706805 644459699 154293869 779520093 140977681 993066453 739378664 998096682 141812590 417555951 906336069 430868140 516821554 185080416 815755332 365323100 675917451 525069484 740837987 670289727 434148953 355414309 649911162 696767468 607347992 560893515 674686852 415741965 393697016 128018226 189018911 810822849 842957097 473330164 468156854 132254495 946306515 354002352 310827540 514696894 697795516 105059670 566947773 885332133 459385686 715258301 182939179 550743735 970711668 278909985 451459469 156060914 407966392 184714043 692847156 615613551 817775844 989662274 386973061 785056311 738954404 416356333 346659336 507349664 357494150 508565558 503077309 162512158 512039928 178020268 636783288 853159811 194712963 125217692 282591768 977331813 784853314 162329155 370183867 639242399 910331364 315334761 399692721 335843895 666877853 686228756 839016647 483427611 597963407 815173264 453867365 737139476 804078900 723639298 561401992 200254194 943559475 529110667 637699883 943605471 559626149 768572055 700077574 378761567 452246663 903976424 795108238 723399284 617778496 558961465 347590412 978426758 771246324 626362919 969243319 415128897 650229791 177820089 365984793 398682724 663805202 295104503 759172347 947446484 572433803 367394110 626531475 754756072 474889111 573380837 357338914 526435571 988540778 399015429 280669695 655073501 636686118 704607307 818265533 227384867 990025922 323769122 245115065 513756087 877731403 241979822 567553226 379535563 343118333 140104858 793245744 796948694 259462437 509297572 954040130 209344298 528010382 640319380 790774995 423738529 490021580 812097810 231120662 920433796 890767472 322016318 828242467 155711176 278972131 875371762 647623335 789336693 301087000 294040668 951147112 700382439 193591475 476198101 427492551 226919943 372375873 649653271 521979978 729802527 319710074 779948922 328111132 315562414 563905090 984967862 504287627 322095138 800757708 706529217 746837540 384416155 478018238 532329322 343159173 986794731 114647585 936075652 307346325 563424493 413849373 144348520 476835822 261685750 909876414 575792832 353494494 724592140 244273782 671628962 489335919 317247854 472393178 641321707 737888518 900305017 432081184 420577104 552069512 773310887 854752219 662673479 282708240 895458523 476809513 476549452 954441565 139408457 942234705 503225708 632149298 820322258 518842643 558813647 636915105 953819783 831545893 910930700 323696005 108572023 806482599 130593858 367476715 602941765 658511474 168799956 686794671 318046553 604173881 657287406 323590122 929552180 426597247 361958069 373952752 865740377 106835268 525231782 410442823 255077338 326332847 960382807 735067382 943115508 377679944 126452612 928679689 351312136 413233261 975057993 426733543 293511643 387676096 651618571 869812955 183352038 790484380 240813182 940348882 554998745 760410582 250513688 904364403 787225941 232741865 852654232 615951290 396671266 906311402 328763296 512634248 383608738 953340748 438328784 560307967 752077305 197718498 656458441 181410964 182616492 866490077 392628733 901867209 873054017 117605788 107780444 412819633 478907832 812946122 859027686 481409682 872228306 207399834 952016437 321893396 156293642 168219371 694947130 808410287 622100654 291321076 301826138 666742790 239706077 343417169 510178992 565769658 338182170 770119068 606121595 909840229 880034774 468008750 824751624 829656407 301936967 592317431 551657428 568012146 211582645 413715544 269560606 102522041 747769104 711996544 874266926 458196942 575104161 957721002 129842048 587138185 516324274 705973254 821631479 274275207 193007629 568973333 148341795 292140016 740210030 101867160 853094651 887912338 694312827 916467934 781224648 603105950 833859063 841520762 886787109 743167850 235755898 734990368 635499169 657651518 265483141 478003537 438863138 562426697 583914798 488016735 575010529 122844989 898135380 323633718 953370665 829398880 885818930 432230332 783199609 650474653 153822823 737908635 198077676 790703636 767071106 381088891 138902457 878806288 514474606 161608888 713909308 918378207 483598796 838950561 725540794 435503687 811429452 225403204 731178976 718786064 785467404 469820665 746401330 221995573 158235694 381159763 765924900 226389811 750415460 721595549 127494457 735486285 226897929 294373460 372383930 354944219 797728285 312737618 404229614 139117260 513500624 522186640 924556799 882702203 915717344 166624660 320638239 792706853 633631895 788769302 855015442 467351900 837537170 579650476 994420299 542985552 155499438 903016562 121261706 855687718 617812708 779980379 973369323 775140353 113971208 949312510 761958625 989537051 693800263 843634027 662530465 625932009 863732470 334767808 271258889 596584592 920041271 843450044 565409898 805421247 982639362 701503862 144987328 775026303 974726980 790194506 483655642 356284025 766892800 292872502 407997246 435404509 230762376 646427920 369879934 893544926 252165825 466958971 602124698 525288573 764988169 542268541 886662480 672215581 888190166 560029726 312384447 862635207 744991239 806318973 720528212 975734177 368638545 207068928 329660433 385074667 394780932 150531546 861254905 974604509 934890771 736759002 791634180 766668813 336698079 365894922 369636972 231076302 458651481 776121533 427590843 924602098 376231879 395635472 861591483 212506661 622411861 272680365 613267962 581811941 609635739 536680094 643223157 493783537 526351968 900960954 500600089 637678328 157969672 906881374 623830302 647550405 971276514 759087477 851954142 597331567 680151826 258420710 164055337 721640811 319016337 260319898 152825385 668815064 312605349 253734797 654163726 757472365 329256562 221040850 226353595 381937534 303907531 663147182 391998590 723196400 494282435 797374380 110709901 963663932 674506974 870004611 510649839 997168048 977016973 754802848 794196486 847042220 547650825 420745068 263745411 181778429 595141065 110188700 127922747 612460575 369322602 107122228 405583506 635808768 822722119 979092620 900108469 154954279 151465316 638791937 996621429 431015420 499392496 910711480 544106017 553526430 336132175 402581037 686089670 313794727 940680132 724443958 507307826 519801518 919800238 518739348 701565227 925531233 322909950 169421707 963545473 322178924 609976332 987219674 172890348 321545111 341239102 745972210 158340980 675724797 252549522 369742005 996963892 750351563 246763715 779229750 867537457 317786223 247718077 490162255 950201527 787305259 856731233 650587877 787940719 879436855 845273165 646008176 945208833 732967283 258068423 882968754 637090344 882131946 322041163 338860035 956316181 736364263 896724388 921702066 825037957 309018419 289106502 149834425 233572404 821479001 396588401 793048681 267309613 493241966 131688982 427724275 451810226 295272275 287097054 942526840 645621601 885417235 528571255 124107773 949859316 788732722 675458692 650667679 725517122 491028855 985626567 146908906 357762010 737371481 700579811 567149880 194343778 380639911 150168510 766705123 557416657 411848480 923560568 268196308 341415154 582371153 583312237 423570954 504141243 729108031 250091603 580936918 424748620 150475986 504740929 788589408 949443771 391663060 433483577 599501734 618825566 111355076 416913847 698771382 767544017 729929194 448800432 952971850 149638586 271318575 162967161 869016300 770059358 956079155 760916889 453659417 486058365 832141187 249503832 409570222 900994699 438454835 640793510 560653593 105552586 720617038 544986627 906316687 537204385 269274785 593545039 474838166 985358620 190081729 469106171 370303193 515459843 244911447 323159049 553697907 504424230 593174458 443925853 138420027 783804441 860424939 194330391 496944063 251731369 696195822 398491843 319445086 965323700 759283087 971600854 353093578 291215248 168415477 265512925 978186529 409281348 541256554 591818915 314963819 402854731 302412851 220433687 194874758 261364840 108899333 837909527 916877868 125232619 631700975 925843578 244442034 342462221 910192395 444733181 919350141 772000995 967169299 792386760 751714626 486741727 848942522 274379079 225867699 772354092 135794021 523421770 254867065 375929078 538267273 590092259 909849273 732990725 200412947 238672041 219490327 562638528 105987912 153037574 650133105 442342852 655181883 656182571 538100655 136230650 863415443 341630406 704694591 932404924 942004138 681282239 799936103 170073536 339495846 160320940 386551785 749441640 479651516 350368738 470540587 391480903 366530352 651090882 290333673 743094950 725355406 418748353 959103304 128229835 761500376 276772768 257728763 259492800 924476810 423525897 552112428 679721630 379130313 245081584 520428737 993380128 128276003 931634123 548596729 717430693 659151762 161729339 312714363 169749026 337147915 184138122 494696133 403970227 978582902 826025559 935359232 853248407 870721934 868216284 303888204 627587787 253395818 663292308 108320322 912268303 207542985 863552825 389927231 947798828 813427944 839594299 183476139 230065829 355254768 447902413 570781835 271003535 894560951 806947958 125257057 375754562 167403148 292960006 913167668 321526732 305772365 303276122 885593366 644002841 148430871 435146003 428987839 435090215 703393800 725747348 146290200 540961767 785667968 114212769 424354486 530818129 586887532 247520005 777420282 144063456 646103482 104760449 948127117 679212850 984707872 197023669 839299360 977765160 143946490 941211246 179100944 825942857 988195665 180013817 191750589 682525306 346731864 941648150 752938081 830012098 455808179 225004402 477668941 492022177 233488647 829487895 415270023 236240070 609999459 451664075 354020291 882659874 432869080 474972142 644426329 520474073 424294134 129484351 814256836 503427967 207306564 516487062 599850113 458474596 616158188 860863084 887127261 635797859 216637067 515693437 479988977 685145586 361261276 283497403 129620196 797525802 627978487 282139618 878395431 913701466 903026273 550944133 868251261 307947986 649915255 807344423 571326802 291480647 826608330 938946611 381518580 477762189 483350501 127776467 735616652 555440178 455905947 758240264 535097746 158357190 258909000 910264724 329059505 609030854 534660650 736362463 212301435 590898591 364144378 939587238 917376815 210130905 536873140 580999243 540284530 858689325 656323552 250298006 217745819 855405538 535871748 747259697 223519119 941648741 637076493 743048165 755323991 698442503 915422385 581676201 397442187 270614752 385256156 318077645 768747785 520957909 126470152 961114285 235233254 414726412 499592245 234834160 299875046 307540830 469249513 960608553 139752036 768658665 843321303 907410812 936522700 611156817 478041939 171162463 486389796 184190002 446007973 993661241 387584385 649142092 189565132 635876753 219449308 474514454 280506710 954777487 215164362 870034744 738047351 583137154 172390923 271357008 841607041 727597802 965683538 968903331 633211641 859595714 632179570 670769140 184124460 375261121 846293946 707076452 227038332 110033923 821002566 664330828 212100488 732431304 495978141 352184297 387502512 220837042 902451165 899278853 551837346 889107340 503473428 709740252 837105901 896022163 952207594 878382290 144046286 899296300 291927349 100379532 675225597 542869836 276869356 384771709 959218173 459435572 685571384 924567788 154819561 206254977 792490038 390414038 274294478 574095863 709440761 185519269 309625931 425694989 783167009 167465992 189744417 687700040 954327302 897587784 205626897 934484261 975271125 709147450 913348344 249057963 303459152 221156386 719748807 184073185 708212872 362090839 523298591 580274702 325508467 259220391 209952691 325171751 515530327 407398190 780886710 157686936 876208774 332307192 123833573 784654247 110068192 379075908 433196619 422083634 277505252 365847908 619643399 522617544 983847059 753293391 496186265 268926562 182725978 286140613 914980809 337163362 457157572 201065192 913454471 494639875 578235137 547076893 693679814 979878956 734773903 327565881 471437914 479209211 943530395 807554605 506388111 476973508 440197841 837695198 833261173 416128335 973703874 951857116 452583634 520446204 393193672 311145742 418426834 994127502 690579997 400839964 324986005 677602220 903526024 172755542 475021586 680702281 505317649 203118477 769509254 616942169 920969849 920019717 643385282 301307875 874282055 572282154 492587957 863207501 763584648 769106250 132251562 917374144 276481345 579532228 486077501 781519001 888903518 154606684 791712687 575994915 328850034 654095149 601056862 964975705 866837482 495098075 306994140 743885493 535055793 788242285 596265976 223328556 383966640 272412584 836228286 210760923 220920115 914517140 108385286 768097318 153942446 809825171 121594771 180155652 568042870 548968542 491168087 773847774 544322908 496784687 249766336 141100704 599934124 229031455 876114854 446199289 235741668 878116893 811141364 890763323 507374231 515549798 915551105 178479580 924270259 711088770 131091950 715327057 672365708 562159220 503581476 450937306 257029322 398169787 788305598 228066807 342895164 881622209 255840316 506479941 301215944 550930111 806125102 785515024 234070004 410277737 255855094 292624866 490239168 243820592 434287575 769505114 994949871 764619475 407300850 168552618 522361331 808934337 873694444 321817713 727507558 341940760 649319233 375645461 589019245 648902006 540756276 782352661 343735290 123382486 949510325 764808899 347227098 463211967 360975112 497503801 946272646 882098093 751929052 842305302 394683678 746977463 450002719 999205444 760169473 905270946 134606677 582684988 184494294 589217554 949473034 974032361 476589554 412872263 383721138 304015668 747369695 261295300 242330853 617440061 510832753 861459231 689335870 689097627 323709640 272479245 926689135 782811198 277500313 882906085 845547957 942959754 751024389 336476284 321838984 789749693 826234710 196290625 951979002 546263334 202167687 678007425 610059865 635037511 998397216 534442412 605075294 997985203 173515445 118591211 567839967 143209310 101196185 515111534 403602652 602755533 757068116 733321654 635109472 635406028 984542867 152997275 655168238 735325624 437928335 217987215 276058988 165007974 687999671 941393017 592053041 816361928 716053301 412320581 459621025 914310371 214104029 192752602 218676431 184170615 652468217 524783189 767022065 132983616 289906548 513753444 646360955 105233943 892952873 585923800 830888686 959256032 906423421 739839423 778761542 356588443 327968084 694742869 115271544 469082475 453229065 853820423 855578414 646034028 930997814 579343057 898009845 613963156 855741573 672547134 717191622 229769131 680193764 496285870 222859540 231790024 813344294 907786009 760884021 340636683 336465400 174065785 156263973 324003602 125570294 772969411 872768145 389607925 700754831 634505671 388881656 826354359 156943912 873145652 686956509 285608619 660924172 497789615 943160638 238410941 215462026 120954384 560075314 611401011 903922089 508811763 127523061 456807643 136773506 611501467 386993799 283205171 208861372 772714869 253360248 797531715 786923448 545599799 153279575 619052624 744678550 485911624 102796639 107397385 604957941 217528117 454514059 345779214 613188088 659126370 842466366 760000574 103117156 232336938 903159078 448748429 187945140 269259099 288736592 416519714 253000920 587926020 385261221 187000721 821881889 865791826 633417492 208673205 190926690 551532278 957516217 772938251 385488617 399694402 175127390 946385461 231660918 416340906 592668291 466703481 263747723 485246472 358319402 591071879 735433105 985666661 745492698 857473987 859364005 883168241 114584588 325057412 602664828 367663551 720747797 298831377 560445774 720581510 806258231 419312139 280437024 177655363 739627819 111236779 419055946 785739673 273912060 524105222 545134443 996175938 392714803 781917783 324421213 213507212 925232460 793401053 851748297 210347054 971753851 700335391 144039748 201373926 175408363 795838967 100435326 175624081 337605038 743612063 396039939 911242491 228935164 391300076 766667619 809037576 842209090 550415280 747363997 182358080 746728566 357024082 180628802 356487214 132172781 426595401 918882082 703629725 627691626 898310761 849685177 116654266 385892437 832316754 751122378 334756912 293197093 473289779 421177335 573129672 731548080 891647646 547002655 168081500 129439697 572552495 884698340 586545577 609952849 545432918 629024062 770323395 961172779 257040624 176323906 286241134 681873563 323870102 494108065 368479359 493609318 580058845 726500549 958428097 313206523 426230320 410481585 934645281 774391010 245509314 881582694 157101655 260886617 819456275 126039800 196379757 349114299 419773749 575227416 444134455 589083675 252263269 425780588 994473425 655050760 711689782 602745666 210466548 484529873 105537463 630402940 148768283 880762834 803489654 205418131 379436855 541773905 720502795 716247805 485811225 586551955 900428531 457731988 258773517 933370427 798385844 141119214 809743574 845781311 217127423 846317234 323405045 147945130 914197797 712315903 327349017 989200563 926417433 944385366 694085141 468758458 102684915 833540233 362863626 996236575 161368059 808377706 540390519 274550358 998656964 775034610 405523294 511646808 649268420 332223924 668069106 610608201 641164929 989206536 635411936 207161611 801616318 234189445 954331862 985772595 577771734 643712089 613303499 903919734 493894429 811640231 962948545 593999744 585698178 589353195 667118185 507198421 192937600 512635980 454414444 770729145 484393251 303359661 980734490 809199312 676561660 174130510 502845492 237929249 495901355 881120538 647579679 846216200 265551613 255631577 515563686 884302464 439210156 669085866 819321733 329147761 693751333 876312690 483608243 971851382 877022984 938402703 148317918 312769377 612391642 697903305 883140037 309905531 947437448 284031166 968237579 950168890 337998721 593913654 661987534 368206947 832168577 855848699 787453798 777335045 159801164 859552449 486435150 937025218 490622180 442066653 818664998 273467511 184678307 398299678 284702084 656731169 933810875 963939456 899936514 977208980 541327088 661857144 860112201 477627606 152502155 855404771 759017586 952561253 786389046 110937241 389545966 591692995 881124345 928664724 664002683 148908484 291952196 307306835 329399011 891931763 748871732 998099420 492089196 441598577 654558997 454856628 237926742 503265285 610281773 139784323 594003144 435910834 366308726 402158348 568650531 427183118 552691422 701895909 878057698 712652189 666852121 540580840 618215441 368004925 878580899 218962841 826340368 861778596 283538982 966413921 839660046 526509770 618171916 344243531 249096373 720743693 210292223 301035831 717030878 397661771 318659554 507875720 302346643 444888703 384142871 248686767 891622861 452806680 242391825 891662424 663762460 931635813 803620062 630729803 429166144 798599722 139249530 618955062 808667078 150236313 501056813 375057602 723400344 989664293 507310986 417547321 375649864 257748352 322067439 709043285 754350287 672459413 216348763 454013147 541675706 593706122 666752613 564862641 318399641 316963882 518480002 902041105 694129777 787935761 494402958 277183857 135057270 267624179 554444342 731598320 856910211 577210629 940354080 286957748 490052558 892261119 800311275 383809289 223650166 604359826 157377729 440643825 467227127 532419624 794411413 692393504 797200742 965853621 721998480 288046261 368638224 927765477 975853089 356404585 920807670 300706413 501497929 105513654 652311739 419870126 845370242 337712338 898102190 227708802 265433460 109504409 156414973 997096287 322978673 124946369 926452987 241682010 351284534 530709288 637430416 829839377 767021889 181688357 228555470 587733025 505050622 770439430 341876592 745771257 558920234 522909809 328261676 763362318 184936242 281786046 296473279 738056305 979477645 598228922 473578681 475289207 808668363 404814594 927756273 863319337 737145722 468777102 896132338 398270054 417545307 952312744 576357029 907819411 885556188 293656398 805762389 599826336 760979997 715134021 888612868 831934227 459887556 774562245 830978629 156303437 190039562 577797981 578541628 993242366 680312821 300829587 703728007 337894900 838320470 442238366 362772000 322030931 443275767 292690587 588222608 658760841 361517579 199074095 192009095 625178014 579199636 352106068 179199172 403401835 557463946 998506619 621117276 571780792 418298547 619363165 810502366 707985796 704250712 174014556 715078333 405810060 769485025 585779007 784757840 671490863 580089566 757951404 504290184 187056533 827410831 938304101 195850307 402447857 843991396 886309004 558878308 710233540 483408017 760420619 196913205 673568649 986666823 723643397 728326135 737826319 404193473 961199588 187922859 828126964 375335057 195332899 819481815 875397006 888483632 992213233 623974599 583635048 153609114 893842865 584938364 672330230 874666907 238017395 722263359 844485609 221634604 277942626 198442051 474827047 699066733 589744753 561768046 202053214 936350503 566373776 730845128 866360604 140535133 841958330 486801708 828165635 376652683 898572690 668655524 617817399 737191942 568049300 772981662 751552928 531602725 859485626 251613940 512384420 799881139 482751924 648175290 179147794 282907235 981046445 128190640 394094087 830667954 858837634 432556765 928483323 166519407 561690700 741963395 184983864 366165364 729158882 511519694 247056717 903372203 113622146 173425930 597273966 667786256 644989798 296707822 554259993 178657916 566717679 885523099 394105533 840527404 430275662 243874580 839583169 846244267 657304480 131985979 861574738 394316961 169931580 902759150 341323516 915033746 722619897 681569413 952638735 149789395 803057068 991174507 855807062 932638162 577425492 692029589 335460119 569369788 999962117 894539239 672084849 703071696 692438094 751088470 810496462 375019871 508997017 468344500 940347484 316926561 685353011 569176524 870886747 121783405 359491890 693590471 278513995 409178723 964246799 917760488 986320523 774166259 902015401 595534946 450796103 369008876 872097081 603662476 742147883 790964924 110718420 199616195 507523742 349881043 715843436 426779703 977361573 388087358 134076880 350350481 413475705 864307080 455946109 332989166 945322624 974742922 526764640 485463457 241602779 874309643 590388701 770720647 471262352 277634373 152622927 489452958 977239869 831411396 569700512 237890909 959591068 933081200 994112202 111233033 917337595 636407805 580497497 174224022 234364377 177808920 519708558 704559439 392899641 601190328 445186500 403359187 342308647 678997195 489541777 520276757 541374215 723012083 446338038 824483278 703946113 134094967 553470520 458057529 643845016 989993820 408346236 436932907 633446932 265702286 910401320 801445812 766357298 456557159 498616949 187266271 152750190 207469464 120043967 415857985 169924760 633517347 307313414 901491989 893139426 424820017 664238570 129845055 209980291 352479029 757862478 514885172 243374987 108810064 893204454 697221404 133452900 129119276 842452269 554047131 532320581 183799285 159782987 296696250 458001352 390750071 501074799 878455791 173256780 998223450 274047506 392602068 696952933 707171226 839070585 853584186 335731804 855810912 314347799 181580554 190760456 905331528 653679882 856077891 752505018 670583009 173460303 870952086 489875048 422900523 351316243 754174554 453987650 964099476 807553883 895310547 204381852 476894155 650648400 418489940 940203128 656136359 946394815 156694130 846888889 825564477 641095294 267417535 267878158 157596383 242483984 383660901 653925749 678308419 833551594 488946370 756129731 600261225 232398121 829776617 756732626 890506187 268519056 492645461 270927974 103500639 692289939 214620584 616111559 121895521 636214216 609082744 607202971 645121829 555703992 722544677 969567728 841711497 686493354 339096217 171137439 244782183 379548133 775278821 644869749 438097390 936123834 251811597 842776261 238971427 960602772 796749438 969773513 533290424 921895724 161464900 833793754 928167747 280897933 358440434 412743613 356705791 761935350 761190186 234445215 717436440 727777968 715344830 790319983 915351376 841993908 236674318 660158828 940315373 573318653 992651439 923060037 400931522 693025920 583105948 881502592 160190858 963777713 860324222 964689795 152115689 607829150 600593617 159582573 344390373 109646558 440548551 762179470 889719625 677134173 100452791 116117706 338944780 537453946 598498255 936929114 360928540 253523907 566559387 119814174 709731818 998096339 387986258 849984072 195338734 804498902 550988468 275323319 252862061 837181107 634749300 525620354 501958206 334352327 935370641 836308133 288766792 595126192 160328330 363567373 406766716 703086490 216704569 243184908 342876424 519960091 812850278 782764713 346878589 496456094 719533270 319974297 451786233 643744171 848572101 944241839 864623686 369433296 307173022 117963786 562065309 884881955 423092647 196898008 128535836 983098498 290449249 103009204 187924246 367869568 495981992 634005527 506656683 780270486 834536034 294756990 400457436 351923570 773474663 644269978 497865670 710784328 122406943 302663734 138081782 495063997 964592263 354366174 598595244 499402657 835948176 387198120 709740020 186508467 979216692 757441880 898575743 289156835 157111037 602469253 324626886 334087535 442985953 770583498 990379406 649517117 458972991 398966147 963399367 932880391 154645998 138466813 485205452 485120636 667041864 847613023 916520053 489814348 604024142 378713881 602299324 713400294 576229700 980646805 483406080 728470985 789731584 420160918 409277859 844486841 765693018 898455217 248648862 176338954 223982232 419886921 297376151 494952580 853727301 834750507 961273695 521293839 924233127 629667325 606217149 267810059 538321157 103981593 504810559 407049472 364905381 316154368 142916539 776310153 158891022 932798360 830142327 132305403 326353478 376876255 194145241 873567041 318398969 695863183 771598613 503299678 816719507 278920164 622281140 385990098 309007348 245058385 377749887 346332627 299201506 677262902 433935937 222211350 329597366 614822664 345073524 397972757 339065010 269283248 804876817 447146597 318024079 813577105 476706682 979760323 796037531 748877542 144890641 910820107 360623469 880842521 453731476 476322230 483770583 433965884 215514816 562911745 647686861 421632708 125084487 298146063 326126740 677430434 936000408 201102960 555216113 393374265 748125366 511505578 927159776 442783044 458888734 720557144 599974869 206583070 832853819 993468412 143735327 474107819 996687132 763441629 113314347 519608169 291363589 467790298 160516557 572299349 335703271 219570795 223284204 708499250 455238736 571041004 470822845 222888172 784452718 938295764 564339834 387481037 245326960 201080240 384552639 126533376 474791613 444139764 434647412 741408817 345104862 563136621 268401990 128626672 614019993 596989289 598176618 728034782 858040724 834175359 627126800 501742879 596391612 231236063 561110251 156482745 704520805 638631470 159697167 462077758 404472897 749405147 594603456 427545739 905427394 799432846 678988463 315627038 936704960 870360432 696867245 292459075 529535077 759966610 876906417 556434453 758561014 742026112 649554695 529758457 892301577 451505806 575209733 326702318 308747369 520195283 493377995 953859524 497769353 966747290 629843216 494974767 461293646 148322500 815784988 435142349 949182411 826221967 461286652 866315787 919072205 498307736 119571063 421260928 883003710 389211059 703591191 318099828 775746624 670370456 983351316 781202739 916714930 485768559 913120412 453349584 204312884 597971337 440684151 431649593 228574121 353005345 605275145 383046715 729891198 525855625 684564264 499307101 363443651 765099698 892793154 463797963 265334002 558561202 986569027 613688384 288300949 750337373 149012642 476769523 120389664 429657327 615145020 347532987 708266619 861606303 444677567 986992531 890805989 304182695 639009573 348526013 470869883 764854336 893938976 326035838 551254979 112320328 240244130 950227395 241766371 400800352 947471907 190131074 665972819 750262593 431739342 426579034 314962960 571731346 566926819 230872022 668869958 868435556 438071426 245058696 944461590 289425559 471716677 679143183 639992832 478606508 152921632 133713617 353398093 622162207 224788479 323868203 164094992 176760553 818699134 505685978 547722697 843506744 816848329 989641723 896475667 261662080 151993465 211340399 977921903 903434800 926336363 630772454 308691396 586652958 963349735 687817342 367951936 365016424 337505986 299275167 407533364 562809226 606881117 442805201 922354159 309371129 404462672 961600545 872379446 680200794 240785807 966083254 784225695 343430363 964428699 298155904 901137638 418457526 584338999 715621610 801467984 192936646 443798282 725848181 897169445 681610585 522601315 622943138 487272512 611409359 726644549 119498592 827366775 648947506 999270327 751059394 316297985 143613557 461395255 728690020 149500918 324467078 272034633 611657441 144776364 204762839 331846202 266944719 148500449 200034178 939801448 239870523 303511917 363915467 925689403 570252549 881256540 725989113 235540607 847780860 917031658 102178568 770494774 228956830 710600417 877568687 306436089 703834735 371440594 828054087 405147131 310875116 869759299 705888276 992032558 254490694 115361643 213774856 993629719 536423321 517910493 313416386 556049811 671579335 949830960 905271969 319541907 837416536 637201826 812700023 678544645 229053418 613947836 889303738 143527661 283998667 526797964 172416632 660762666 273733367 351188238 182398865 601160996 589342006 538517216 555154726 876246639 715526371 357898495 575652964 987787174 706316217 568852945 570725525 453826859 957289229 335254881 685127951 907838426 128567020 739600578 439047765 616289267 245067162 583668130 368735931 676165735 874903029 679184698 467325392 286911864 347189292 223134122 691930984 163044621 109720098 596141758 256893656 431657499 775472082 307825450 194926426 432967679 199263371 966668421 318940400 857377620 922940417 554534655 750273586 636085398 765895039 313497034 772537501 700963789 901847592 214149850 981094930 173259964 882663228 470011811 711555026 406162557 362207463 801422448 745807104 304440088 450603250 360602997 989976702 514260830 614210320 149060661 553391439 213301619 390651781 781357107 130973401 231475050 688516138 787834904 847199946 547695555 244090232 294471468 400534540 251579279 537361188 592893853 462962734 453199312 669295836 364970037 719570619 264963059 502262940 696575750 763207503 360400267 208092336 727486069 815275045 343744280 859323821 606910136 952931326 421552059 700139631 268727268 151632097 559308666 108872944 481318607 471523966 343083258 365771635 301322750 866978897 214024620 699246186 981413545 856443760 293552047 920352543 131012738 187169752 697008127 102319202 719875458 579304764 682274231 855354113 233169426 512835599 425295439 701545210 153670936 247320650 321069477 190089064 323456108 768215151 422050075 699275836 192627787 639420119 860290252 653863514 872094944 307772322 206625730 504843093 533670751 280239772 544285515 114649291 976709052 125060331 332009903 376000043 982790085 312501208 337750340 108235507 912197564 352259823 548354873 137047095 644555602 511411519 609899733 178046898 801702504 746757904 115900208 777431101 247884061 822673484 723189862 946315590 685607049 475426595 405060391 745713025 675550007 536078734 523285645 824515619 928848744 107938822 170594846 579444854 390187308 272529281 166583060 918472052 830190957 101163548 756096167 952246570 730606248 543090841 558678324 945969043 559042310 450300348 714655368 619567111 213158596 234860153 951205934 324025903 610676373 868215291 517764316 419328702 476376024 354276798 137785406 502622768 187167257 853711854 449637032 739583584 373788559 928792046 653571137 853674066 831602266 957572324 396506905 765369068 645117621 883996274 737508544 651974982 180868319 606154690 916546444 426527637 383193443 703253272 831577505 401631388 199730210 109178287 655298971 949139806 405978952 987724053 616315839 261276471 492365042 659854022 305133441 111756756 211747206 467310753 516382026 793289608 400068011 407605255 996175183 491848272 829648483 370320669 457408546 770594172 868374459 393151349 913417066 292295741 337800796 647969889 835590353 671354593 725209277 710851899 400697494 501515245 526692086 948107324 402593273 397228539 932406877 715580255 942220569 875515986 242798035 938585109 111104009 560819106 107367326 217159794 843468199 218840737 190974638 574107753 871577065 793252553 855758983 362786409 466656004 654916910 192600846 464768137 967678978 431024063 376310741 667093314 900265400 269332371 586471810 562388778 639421474 351565037 710191798 818799015 850754483 968560351 533031170 836949862 329409805 165621065 522620834 815584848 547248077 152396316 615931839 563673089 569922084 736321831 227607484 744697100 490270887 130143388 731737400 990997323 299034465 742193460 834173432 443800001 391564491 883958594 653157829 455049333 389321793 397010730 655611360 662295398 955922831 156170807 810621280 697282265 784704083 631197062 447254331 716081913 475105480 124923558 308165918 540692777 333452791 465666476 698112609 449956601 749705955 478281160 177266667 203520658 464755364 250851051 866243183 993941463 547716626 893358994 653713213 478677478 365353702 462039907 930826219 625171391 288081629 804305167 641142389 375561221 590259303 322248720 938192724 808994718 511626534 663693524 773505675 461088984 285370599 127201523 427730826 128500634 153501296 292467845 586195029 261403169 961500355 800970680 334031974 127000115 857016764 800067210 349195192 675256131 775705943 105460385 367936819 772924537 124127580 578879358 445619569 539716302 622954209 374542107 904041949 941122959 967632752 579698882 887358151 349610121 856352238 247379087 405434011 285619031 243525085 539153581 277982133 226719778 680217490 704822105 604582259 382538816 117536386 216030863 256519389 475729479 992600021 671546316 751751461 391527546 247995672 807217601 651783275 769214675 793622439 559194509 596884091 443237326 482162946 777621942 421168910 420743804 714307390 544341568 633590566 820354554 355610836 472368186 449475933 684734695 351092093 360352128 556225249 501919932 527627693 210675300 759108469 369453893 607673006 765725251 878790383 310015485 373380562 386672851 899777420 688549467 190211292 216368982 217798492 890265988 696134791 330698697 952456675 519608273 607530092 221097262 978496224 293945570 502101908 615289437 799239812 706972020 586368846 185916567 625723099 321654301 928199079 352929076 441476306 287464085 879170808 433394591 513687724 823674239 581448320 322393326 487555281 192339636 225721315 532381067 786902018 826154582 948468297 172933708 181557581 316177281 393353305 984361303 477664200 502350773 731663039 281821131 875061553 490799733 997004794 644972288 943120376 922334447 928897180 303102179 515324158 604121127 762571692 288313428 410588964 110868756 448939917 274724727 819226933 253305398 598364548 410999979 625231145 240353387 909036815 254559538 368025918 931799616 242518551 128114742 909006932 317527457 649808324 850473632 208417935 544909328 276201998 136617863 718044846 217577567 949933465 487862287 156879354 598623754 278259789 327096845 785853568 963542426 142445326 637687319 389236916 579942023 644187424 357866223 407782742 306196056 878720155 603983330 364854198 395440519 431775787 129936981 875994539 167743460 890779017 638646703 856502117 708042732 962557476 709870783 308585347 262347680 958403758 645992883 977182778 865241900 747630218 252126156 395261116 923449906 533786565 887481223 100066530 750008214 182857119 355722429 831401106 681824090 119977897 506929884 575354123 583774805 840465823 619394659 184623789 454041306 762032495 262514989 389392989 680215209 322393295 489409651 780527675 852789756 659715676 652970368 981836580 936046232 816948113 965186137 775315137 563432487 795018030 651723805 480914229 584123755 592792977 503464529 950342921 173002878 792580378 344327757 893235094 445652633 281203161 676374935 392145052 418107035 797568619 210207792 759246960 156091513 580432070 454273027 985194804 387157140 986612932 150044657 205336469 669808295 169393265 413959420 665394215 691076993 984339525 802146280 145731639 520345277 398040247 433635112 246165150 104576165 222165467 189304984 585851282 314651404 733588742 156835029 566932270 741734867 369467927 235720949 155270202 881444398 304405247 874770108 815828767 754477207 862684707 663811020 935141576 792959518 281116264 293827786 179324136 854051607 722545146 212939957 987843487 624993728 653439491 442512249 507858150 262325525 487920661 418709077 846246907 965317174 945799591 448872976 251204980 501876098 840392269 383348907 795042124 590837241 695394871 713311257 486732925 344702796 623963884 719366820 248661761 763677219 273993692 149798405 210053187 401502262 364564420 232496279 479071001 666404407 114877680 291401656 400907819 372212045 450429305 744605472 565611661 638957940 200598155 157766611 576706975 714295075 853090805 188907514 655427142 368289540 972890767 405509995 612062874 818350102 635141205 119971090 947841794 336904086 324765865 531009908 824109650 171912653 258058549 216240134 901581658 218443532 286850950 856030632 162975739 594940586 490505488 576573505 979844386 606020838 501652284 594241424 900263929 227776692 859638459 648357400 111947040 907844889 772820036 675285934 355498696 631022000 745289388 980359543 628722596 596990747 273223896 736849936 223260911 970047650 814612144 663867159 514815482 626471058 177966970 975512280 714425558 263737229 892472128 238832971 304025021 239557487 919862617 640481774 926495616 240241141 397323691 344639198 418163109 146318407 851632008 553296068 587003673 175127883 776536057 959907197 523713149 750677935 608838909 352056608 907150695 192419946 345444118 758312828 809466473 438775292 481458473 237516788 348942977 464918477 592335047 642256118 332159375 981530824 518841165 836120556 827826519 735590764 922193422 812367293 489239806 359542580 413420921 926440945 441359394 142013624 151869805 158713587 958431303 744568872 391392200 999071343 348576395 695271129 762069442 288717355 455381137 626415618 548161429 521277733 843712742 462149970 660235335 449964554 733191270 890668019 979107019 939567107 936176071 652152735 628378451 968971513 617758416 918000034 318594691 712104646 598984948 416386185 248611594 606574078 785013328 491860506 480620647 748326179 535169745 745650761 280988057 178126812 113277398 898733259 759618185 493654498 611256859 958786205 481197356 623728809 272457536 982401204 695646865 455461095 344040987 518799683 703249121 646440105 232466571 485347562 518031158 466673050 805690265 712454315 768760675 996294878 886249952 722766650 535136636 412060826 192723049 937069508 273570655 856435713 881540064 374069465 946422079 936314213 876283982 594588027 694941760 614379386 713181767 405015284 195176629 421236034 795359783 442697484 490654704 278646955 365244725 285316886 819484321 525548432 508927154 990861672 507636173 742396047 924819768 278675288 170368369 200353255 460618913 387873458 225004317 283504310 903633248 984662486 869107801 154137790 492226608 414674452 497590052 206250099 813491996 508305023 407335893 620578113 460228999 892721113 374695923 672253166 240877647 476976495 282581990 392739449 295395298 652188173 957173786 133077448 140014874 412970866 256277234 208701485 189544039 539421435 404758019 659231509 557912040 809858596 357729908 938833382 823948899 529808636 762073001 397551137 306159596 180564240 749375593 796355805 912248988 284547408 103007447 841329499 690939291 461167838 222461837 613449672 702855977 180249216 328824090 226528398 432652138 551442528 747856371 231891139 644460185 478896628 888298465 738186135 100335942 795004132 389721333 125812764 334813860 755879677 375889891 700621092 518923780 428034555 950434050 200931684 593900957 558589324 536127177 675880274 724913356 688717935 476052685 913967229 335229539 732465679 760679391 822198724 476170726 273801301 292087736 594117097 544580476 676265672 611631735 188527031 495367928 540365715 457013122 101996111 422095930 719133563 920806376 749364924 580596588 687933597 730088887 219883684 234603314 975979841 507532225 643991370 168138634 421930591 544492334 800718930 657409647 925802492 607897585 862966851 722023602 415076238 385605066 688463488 750416515 658243094 812046893 392262438 649725535 712711385 974815424 633972031 369922268 112753952 454428205 748829502 147146335 458679729 843113298 993700049 156799273 288342154 454833589 354495685 885257511 825700034 178813453 512126687 810333311 629893159 241243494 130471337 295327540 252613196 523115169 597785649 353355552 929326544 330329690 327055438 471996270 658668131 342978297 893278140 805265065 176103856 737571135 882192677 115212997 634952454 882842108 132161407 295116264 680270522 593707704 835060664 579002700 660024102 711470262 288945287 157324786 730469813 917731292 354589866 585882718 548558378 345344867 865489435 549987144 368269752 289112820 620363236 127345270 518204387 195860089 946577626 307068356 910972683 570091397 827388055 510585007 486442351 843027017 621287004 153329013 553472352 879359426 393750686 631498394 993249566 305969734 316879115 913160660 509667795 854828018 906869415 211248799 701179261 576670643 426927490 459122067 414615041 993887070 970778039 683135645 582555712 562108849 555327387 726185646 924386403 558966161 658335128 149386700 916118810 126961602 787793954 860649273 737473400 877000265 694736915 690227068 565492133 977983467 803853998 657839812 302144813 721154784 298360436 865601500 424577941 477649393 542571910 405458157 983018922 512554121 187417605 716340899 891882917 217662059 172189863 230184574 120893612 331615486 362667107 585844556 503302107 612091081 654414323 251574248 943491547 832174228 719133454 683341355 494471379 151912948 340863405 233074572 257909715 825860467 709478559 953239155 885640180 404779762 250367073 286998364 122620206 258585068 932599530 694466309 312126025 801336736 636017865 287983519 571642308 423387390 975158168 614185203 911631489 340109543 214070412 152821476 804612015 881946615 623231377 773533240 409937056 796750152 916470102 800251989 234496329 863202819 326997360 328576430 205082134 725426256 878322583 433481000 601518762 405075947 306975050 997333233 890399885 951528476 182638293 268159326 253584338 534694273 656292671 476866222 790950363 513389984 127454357 868936197 466514128 181415383 966760960 890722254 141651377 355101578 576826624 961362296 318328008 956932552 737478551 871913411 332006049 497362001 555401859 490896763 582067468 602032141 859252569 545573052 522608429 249719618 503782288 828267223 607760536 912639556 643545052 204457629 400821396 536611182 479727596 533647863 620612966 525414254 876607305 604952438 346404938 515901828 942554618 875872788 866492326 150240882 997592354 883686035 694969302 782113476 850481191 360891215 275082661 677603981 232926525 984904338 892916441 512986981 629152596 413874776 179985068 532968249 103582945 356446618 418646973 585646503 360724156 202788417 197163803 264132929 856421633 414889225 700305476 194967291 724574001 157595809 557575641 704023520 611246999 506355289 497773996 648940577 809227594 696172957 938819738 283289208 278001764 457266137 997172500 744920412 782698690 796728999 710950831 693383025 461415384 963020401 674352781 982563011 771949777 481211492 472414504 862803679 271293479 781934631 364952392 373206987 345566119 540409818 920241027 533325143 112352208 927143676 213651686 717651362 310057349 420511494 628877121 550600432 896896684 605575379 313402723 445506841 153416161 585058283 849372583 123313352 622050270 684100418 574853577 178083867 680097123 887470657 729512851 551070622 554230629 275707949 957216994 488067399 926055547 376329932 933663685 377685326 924472877 374788285 902708325 858275654 328555089 503565694 723537965 160704903 875572203 975882141 702725202 103136233 616320822 150471527 651808350 979986088 522849894 298043590 187162496 655204305 762826679 782263145 877725209 573337128 995137786 639182926 369296911 974398343 200391640 198851310 253453850 744993412 254860532 987774545 652229100 240913334 391154138 873193916 479155724 103746993 294932187 843083608 410488875 171634358 207177738 454560759 494600002 180326296 708646848 888217748 430659728 493900879 491275661 987364828 276114046 152883821 911995493 635371008 183064488 759827436 848950450 936566716 779895109 749637334 234325585 685476853 993397145 123341680 543762590 703102392 993003013 373723573 924722604 233659072 189696489 825316276 729480273 868013031 571416469 308196327 876034973 238215486 609847295 164609957 963495295 548953508 120559494 479445795 521986154 791025631 514181676 493182873 955625119 978788088 594282114 930369221 779071688 493376135 742324606 815235555 444602246 323853324 939728891 329385883 639238416 274169749 208279252 436467996 472993596 596486812 877276251 181597651 321320875 751801831 633360663 411587912 356314588 203462283 406218635 380641520 901504477 686064316 808595775 172441828 607032402 898880128 219848002 304378067 706606992 918883799 455929961 129343219 576649174 453252102 304737711 812699065 106539434 854704338 916334266 729296897 535105621 690384702 394024369 863041290 880508405 845849900 214149592 520400345 385942003 876957529 248296123 413856531 150626761 765075856 333151269 882492411 576790632 145494299 720495470 764198781 637812747 847466094 532258525 813886257 991625460 210109911 319820680 953935343 632075276 887893150 314340069 402258876 160604420 898271050 155049770 642197179 674595144 493074426 332304219 252811914 764036206 649789703 419644709 578382896 993078241 208889767 995769217 450146972 487119587 781349948 809396250 362429999 702816579 900238593 763704737 335555653 980177244 210028741 827656168 764997442 413775314 915369853 599714854 184009611 951483841 464578397 233040465 447090316 995676989 625481730 109623473 636407253 547892929 862206598 215350336 816919429 693407142 670143952 210069809 312926043 858194269 784184313 488809578 851659317 496564143 141735364 639987695 751447160 642654033 506705218 981287095 366167134 219422700 474096502 122311564 883272949 752841021 766447071 636099744 804618452 731288077 211229139 489916972 691316734 575182326 431708912 322152932 606477260 791831585 927755174 663600658 965208780 881057378 441342335 720321368 856361176 778833974 108033432 648668676 373029602 139083845 260650705 819889218 225548761 486312461 416820345 545348007 727693177 680435161 291228737 865654462 882016538 417931434 746008689 257764747 520241657 973425268 752051404 456243947 432338820 688086046 299700862 947956628 320781627 340185528 989508443 754525195 407063147 546486656 738582424 412252561 555179219 190597667 870779124 713614957 811807044 674188210 214453537 231447600 785785360 600449267 885669599 202156437 908592649 361211922 283786439 602895287 927015955 517616053 593598980 975326500 480066475 747175066 526860113 922801139 823310920 862341241 173618503 978852443 111418091 973436568 680268552 235202290 824846960 689869160 742678163 488585697 374321168 311020347 750540675 873023833 778345881 801240229 163781752 670301644 281514584 250585106 128635070 978103868 848893896 113332603 601878955 358298601 681642942 359635564 506375222 330438984 644569398 621009182 545881051 419335230 833736888 638709741 756850914 207712688 835213250 440899424 902820776 793069011 566829414 554905121 659693203 577495290 716227123 342455419 912489253 382469079 701164010 208107073 450303014 409750700 403029854 202031232 329757409 675050779 425233078 865841988 714651287 848569653 241028909 709962804 560367083 970960750 774601479 541556833 551692073 993812317 232338773 638057904 966808962 465809112 289976592 732432436 809237013 963167383 569485500 884143421 601877151 199732976 561376043 716102721 836888441 172778237 592776747 776730777 285215469 402580825 898669271 274006106 300384011 699478038 278076190 470209100 224736068 825423460 841856708 162506385 668708337 572743937 428723842 437687418 255541486 755385176 137467192 961426313 135368650 123967139 895916447 893231273 621482699 582235745 906126790 829761396 733715206 915481723 480155068 953181477 531328566 792835190 243781367 760521179 859510413 446602242 474960768 860523393 740569011 152632234 863174138 318390061 805761154 499525144 660243154 982843701 833610811 354415900 987836840 889761588 980611614 959351336 793901759 602105215 792822588 866877696 806199329 222657828 661082652 545794469 351063930 829740411 568168607 963687621 745149015 398376561 265843273 706379311 885573090 838928153 398908932 963763579 116710156 187341222 994273991 665733427 829060025 748157510 714579670 935540472 138162341 302934184 530698787 526697678 497572358 839148411 803782789 146406331 344166139 223408250 185338655 394463349 386924376 507387571 158772501 579501005 307039601 602070019 508792034 555704174 457387486 994545515 598839090 578396885 178217148 227765478 138974171 858864241 729638654 599875182 279274596 644213771 204795500 413276965 443165878 218131332 364956655 389599883 124975937 159449688 712011647 348371393 128842200 587715846 607858228 122436901 507912985 762308893 659913744 984738696 884461808 189518658 674633654 103885118 186461103 919343293 207088829 802989860 966749442 753761217 719476932 811206095 281035069 361752239 809777925 393519265 167933175 157761590 193723038 660594969 351541578 890939018 384469844 841059116 722484989 729463313 812932586 859241469 737668001 906880073 826472088 484420477 859363543 104209945 766463642 945597642 971194977 520114670 278722695 282380731 140023701 673553622 756009845 322435280 510127144 503610678 675716410 245046187 211953661 996083700 819321593 671117438 957110186 379241095 489859275 909044399 845822827 247978754 479147362 489461739 950743995 512757161 867418889 838283945 112665851 709079483 610964732 951757376 684439170 560086205 258221745 653549858 285133341 969818601 439047387 638418249 406779819 516930854 697925351 164032073 530701593 122286226 926142778 792602635 756460476 815755192 580765626 877743858 185832503 392848809 374892227 831644517 432733364 538579276 771092968 943392469 173539070 839211463 701063900 222211485 129242853 461827909 798631034 515784586 391707913 577283356 279453612 265386789 224396115 404708070 221826310 352339150 912225214 150067366 911156417 286561663 240555158 159832600 557204654 590894217 577868910 176591396 403923740 392868911 720121065 597966447 384061107 246381680 389396354 885969500 763710887 807261396 136687784 156912359 623502255 645335516 608095694 995566791 398568357 222062015 100326920 504411491 802647333 270831069 520586431 404052531 362873265 864589131 297734012 307351627 528342426 608902973 230196520 204558460 118472896 123265122 969968125 292985217 658209140 525180135 436073344 117552841 205579763 249553283 135242501 512339377 514715480 182611413 158597002 342778621 354246942 223755402 503257701 752107616 866998149 266195396 474055108 587758012 667623366 388003852 636683373 606363360 151205257 770166262 427062531 421236928 762396537 997949519 280246185 168147369 583236707 488402792 403168241 274990321 866377895 839218229 935860557 297070009 140787005 513013902 439615999 487937502 151926701 563590349 114397177 781139377 239995555 857207932 585095416 528122883 234260879 439025078 733618479 986607539 960202861 211928039 731473488 981560820 938164789 613429109 782406368 712476719 918578165 753563502 685193704 445500832 231596736 234806155 805264355 489522933 738455830 792115850 500938801 211980538 487289337 439664029 406262839 193283169 492843565 756871885 604057395 475669770 844256917 184834838 404100144 634447766 144996879 905608683 227050197 882141509 847734281 733481930 262063215 247633731 979876727 991413463 721173649 787480972 518771571 207634328 880790740 131665329 555740226 830703048 348021064 769651425 173251297 484317851 361099429 678384513 488609714 292808088 232797213 317637936 422901314 218907319 882791039 878096578 143969351 550122944 992886293 853536391 270327238 102239041 354318077 612883338 201451022 519700718 773074708 558122245 849144908 434004934 832506356 310143192 405606151 523505404 517030830 344651524 719057653 244004078 310505863 709852902 869717484 273962319 116417616 426569786 549860022 926174274 192894682 498327993 657769097 193312982 162080658 644882722 549047970 871835435 635349865 845531825 267337387 145130943 204838975 447361061 283150236 134493449 143927336 630153634 659799810 867566228 434973071 313905691 301086955 843857307 129793229 736478891 977733343 761394662 454609996 205641052 410595448 803874159 239906783 583057443 682692452 532577217 965197194 180964755 844700975 559683338 866585621 784822918 979238023 699389456 168225856 871746877 523097407 344134020 528391394 737285754 202543489 107972905 277256740 185237544 322540506 845429402 404776108 570518561 707531563 876451054 473613407 274477104 689126071 925514992 826797496 625234384 214513639 347194502 887971505 607688971 652953080 747406774 322722795 120277064 266983556 867206430 607457247 157239378 949382621 338089602 455520780 671611512 847198608 360155825 918103293 787247718 345465453 453523498 622300419 453898167 317043279 426607669 345244368 223722839 715938597 614428260 224079125 827023082 882314391 589613800 150924847 132850538 992654279 631979093 111085675 726133174 313841849 564918776 824479657 390437271 217038029 691744497 448189776 209684866 208191030 892050579 802862458 871688121 960958365 685196911 161372552 421960778 570906993 800024242 136823686 708646210 516556264 106628707 618737443 426411581 245657597 239111745 209233853 592941934 445131554 807181714 137254304 208961661 998002535 872088164 156068165 849424358 959744624 975828831 402053585 772135709 328942091 133576942 736027413 387039502 368860381 576944532 335638334 892079964 728507407 182148755 262026524 330872506 761030388 628575228 226938740 837447170 848996653 323350628 869951113 452832007 405279904 692233146 272469802 711461044 271765721 926740414 933329602 506949433 168906024 909477539 768143923 981493360 187066644 702992402 133769117 961957432 644031162 496341101 712430210 331712902 973730364 628937373 371797130 461358419 327579360 676331336 116971882 466331041 592483005 684379571 499662124 428383287 586730268 500904117 556116267 823639467 460764013 187529175 134369181 369059588 586869722 918923324 329381734 807863474 111889268 455529727 446454212 162926013 216492919 783350495 664208557 909407422 375837281 838469521 886647465 273001784 571484796 275473420 142911916 650173861 517774311 892083319 337022572 941939741 290039533 562359365 829377036 486638733 783861771 112774131 613148556 413858464 973180928 506856316 907986922 938341483 633833634 840772477 153818708 551714602 620228554 791438009 903433238 245756136 134667621 366053506 339523029 177511220 301550468 770765523 243501649 767608828 791285089 383440476 341502674 444217841 687655564 759627632 306694606 118986523 418251238 898564191 497895712 937926783 788841468 489783652 999351706 612552021 682910932 618341812 979698666 455851449 826030467 124573184 245272878 646273500 376115545 861715711 600314271 402584017 952828604 850766569 216525821 943421342 547256023 838365661 135394473 891028227 152194939 356301882 924973914 606524854 758510411 704292632 317684830 471119616 723504522 990274479 543395672 953003255 591989145 998173012 263242887 184993016 192676373 807058437 202564159 471655051 515883822 498126138 711788345 964076786 815406753 644816049 133616532 159987795 247043638 843781878 592889913 490025545 644539335 794298735 870052654 228213406 132475138 244263363 923255211 589559824 573875080 958395678 119280528 292462251 125926617 155476059 179402548 962615866 109017808 667028816 516700822 675337776 624692177 672032919 913274792 597816921 906784692 273353180 351757734 504167762 942769330 418309860 479710448 384042204 824637448 782575208 282511533 984462926 789767011 248903916 829138150 260659005 441434664 796530815 107902288 293795001 714688176 539613351 769433328 477686983 769216418 560160534 259626515 150874005 480862712 131362141 505313650 170931849 486289393 499436652 192889129 583326596 639640886 160416595 473207099 315214539 786142943 546040960 860460954 770987443 502916736 529584145 458913180 903128824 318629013 899843625 280747596 570030885 581276143 553759255 766866628 290743233 765608445 312083334 468930790 790071498 936631323 579030032 801259201 797359805 183260618 827534148 329044564 289326608 219689264 594061226 424498580 228896291 429188268 860395139 567728945 623061521 488842798 275130237 203159300 399328535 290799786 283375154 464287273 983246132 485360770 597903717 384197241 618135625 695339828 370007075 147940584 111716407 101378265 912862723 412408312 258895098 648695703 228354018 731310781 763773683 423871541 372652262 654134039 373839459 798952254 529754974 714139330 689721885 975848939 672452105 143854152 683194372 209651802 848873353 450265523 780552140 837593024 400462928 126411462 750551862 441585881 605975494 776002078 445325801 135103963 266915587 172539274 381163452 316385913 348049621 370889662 946461431 896387411 168884793 773520630 563468421 155302570 609049530 619508344 909046642 739097871 824390790 628149609 842970542 876156978 675835525 396048673 370093587 965366696 397714446 602910355 684833179 916241080 545607446 982582905 117231266 525002851 156497775 190089388 630606799 837085426 575313515 560646590 122864661 787639208 541091059 389925435 328765563 467925682 917702978 209846651 410274964 341619496 365662539 581979297 102105054 793065008 594196357 408548279 663172525 369770555 857997469 491015555 211574408 855887463 360559010 552548734 425369089 514240200 349715230 871868068 319928631 583085326 998630696 291473712 676790516 710991510 877334386 318563848 453556132 189522115 119388999 278978289 992539642 244172184 824897532 152812210 769275954 337392485 552485016 638810926 389504578 655672600 659668061 199843641 796164839 174522406 206881257 398686090 777791284 505690357 999298458 253579064 548516441 397508148 992400558 908341027 585544001 778305093 592781744 836825527 258038999 937318188 226474367 104945564 838254731 835459336 233649881 325915261 198330580 103217558 390064285 702372846 128451901 162306103 104785113 874899332 355497136 159177623 843094793 781350826 718132257 157341342 446719482 939779398 157864767 899231279 486156905 588123879 583093434 544253429 535814196 605325119 850372210 185289042 409143872 755021026 217837374 144268852 136807220 644697862 829072110 413327664 692944057 492401170 126557574 406550639 826535591 435960585 868101388 800138419 118946668 558859260 468803152 946497649 115237844 335980962 749112278 862826633 355373223 110217070 862923710 275982545 236552271 821679326 702416515 239435109 840554467 487363632 196860188 692575055 257885728 984335122 211897797 720128492 394736814 105906977 334636983 740682520 851767683 110764988 736858965 435409880 345014569 649022334 499896156 507070528 934220449 947898903 375694625 828167370 810087292 839422495 852092888 728072658 843988394 548968020 970298942 239721158 896720500 558408411 988445144 179760093 483827271 976319415 437317543 562658152 547120362 103006647 174913077 159501641 274290147 915911038 381760251 706925396 103595416 612487520 832045113 925933272 415465417 110421869 864012886 917121060 724011901 463989315 948211352 580000930 140009522 249729876 753156847 807434701 900842142 907800482 696093804 874874467 925611121 712728723 192789237 490004665 461127039 899009017 521922227 174482100 648050614 678899722 487869774 404563960 124068489 788283711 962690478 671670599 531025005 263276234 433151311 640079911 428219604 435485409 104290049 285113841 165638444 166329967 119083588 511447189 757693335 319287774 819162811 422191824 729040369 665396093 203882131 114390484 103595714 467491212 637075542 413111815 323205115 922167153 271296377 492611327 224806009 222906396 113131247 491759664 188803218 973761092 327988874 254162788 452319704 856815236 352999213 415500335 402958800 783294910 896446520 190059470 764999457 321202073 417448975 328786178 538108160 887423460 284876919 391573797 663275145 290123287 113886877 212348246 288897239 964169586 137672659 478115133 607564035 336884532 397429261 212979929 126579919 450395943 974971706 944133012 721973158 467080885 166280990 368701664 905186525 761937197 331231471 574147316 388912667 150760430 227833248 422791480 614646963 497848378 130328256 633698811 958489079 198902651 524977257 665352746 664005853 455743990 726791752 790050825 162163223 314707110 844646993 908747316 296570798 534256889 684579487 901933764 720227828 944348670 569892150 199764610 432851605 867389318 269819853 803624758 794417333 234864262 356407039 128635219 947814909 516108618 300544400 437269628 331911341 476754696 738209690 730393801 555049814 990532254 816408571 918306252 222896256 658570095 971260033 718551846 705194750 635509670 657497047 521124618 659842410 807886494 868990313 232634636 989727958 523430987 134562610 176202056 796744904 473329039 685876489 912478065 184259374 574250121 251931496 120859300 975329920 950543198 516021529 110908982 557350512 260270030 575085277 600535331 556109621 836139968 101815483 596640858 983261952 587139206 737856727 654384765 894222540 334925501 460298971 962362247 756637499 234041665 357710142 344821272 774303527 944497527 886993906 173271824 523608257 505271489 588347327 160072633 313154065 962577756 766062020 293124545 310658384 362932751 483745688 431672619 287617344 878392478 270814472 930730417 543970714 543875998 940743367 876927554 180881862 702056052 725119782 819577755 767713750 873905640 629866484 633840295 515885935 697054995 391459305 329385976 979655537 852954261 244150370 660456772 950440567 581476844 816087349 816778194 466189568 905696537 104444576 668639621 177086005 256469378 785633059 390661096 723248709 750297561 612747578 223047157 222546958 481409639 292273570 913031367 272500803 119303725 849421621 770594307 819227171 168362901 777838904 198774483 639421032 582715920 767750650 333274059 351717546 817112893 588658667 542208699 610853605 196783518 725982566 565471793 151584242 768725525 397759601 287021656 658706381 837000305 946750285 785587809 335301718 599530680 510255552 653734218 875785411 232759916 443087615 315951707 462649788 402263366 621958142 461165011 359215523 993817854 797248399 193127273 688284496 742643821 725637992 863341180 267617687 386029400 240363165 272166422 129668116 234961922 773502897 353930722 499333030 191455487 623448225 388168310 655189543 194022994 631410233 331624353 633821837 226130190 672314723 793121062 439676255 496129209 880065660 972351641 599263199 847971510 849843346 800404882 663156180 112212636 249689464 815864125 253106603 589679551 902402719 800831610 366897388 112942854 383780988 756507650 868526370 553355368 207110726 415673250 555958575 155322615 827524288 728062958 795643855 821188681 796843715 759294419 162394942 605050201 626882708 155854105 330281084 602126084 433528067 917120083 961815985 696974032 310485479 675842775 361244833 892973081 650378757 295064122 142314240 851541530 876031860 948041768 954860338 984366094 859286642 307334584 279347540 790754668 693782888 587871891 684263529 715847829 513695925 476339944 165903702 726112911 728252817 116384779 161067931 896364119 140327421 503136468 188804632 843405052 172995502 398918121 562742179 116026335 126481341 417431777 193544738 229765725 911297475 511212305 866950590 740965338 663931645 692327617 547349377 323666817 938373310 915152398 506162938 739684421 773053515 524286301 272517248 226647431 135798189 630404844 754046002 442497874 485533127 268176912 559184096 895436118 153177884 554598145 396523093 113662454 859854771 669250438 418725077 864160172 130652874 745481317 773823168 232128914 733804270 906491597 101459429 818327550 523671080 296475461 237875071 731427709 419527710 218933682 463259976 807927502 541394757 507263339 126860680 603102067 747063302 499869502 820000748 203537678 153940752 749532963 591621329 712301168 611486234 840459747 615909515 235389086 162919682 302876639 994282723 949251723 201090480 314728937 699015229 949966437 803892473 630826403 398345231 978561599 595695453 524135631 609876234 982264423 610510849 805643112 434173204 623448398 941926855 115684368 188999879 329375427 839238753 754495163 871052373 410891423 433187045 594099113 134597476 814666334 825121608 790133539 212843868 329970138 721422023 166884414 390428162 233978886 326368392 628357927 252888246 127386713 838001209 155891334 257214284 684379239 740988730 463400545 884807292 805533016 131457128 291805345 269199412 692126757 400257630 258577438 698145406 686402372 452438185 749932500 313562097 644217854 362771892 175761318 987750345 165197605 142091970 891428027 940758854 458359763 642409302 946946822 785998765 568742674 365544884 768638179 219181893 281447422 316962989 777158526 899104555 885754314 563650396 733241405 495668982 809190670 617866160 368354358 157530384 274275762 661595227 799946388 351781926 617170252 227919775 418595692 828124592 880799672 786668472 683154474 678232483 800088210 785793250 887438821 283553617 632944611 503148033 725218151 348687189 136045327 608629985 116222324 230754448 584126248 682705979 576387086 905912334 387072375 953238039 458150351 477786354 474643157 993017859 665985299 357537442 487904717 153841184 844973911 765133947 667138095 270882359 528264822 991376859 660692614 102559080 256571402 197458049 547265413 343731047 213438701 486398511 790959274 595620586 835921627 433389368 606770280 175194896 829287076 786718471 853929140 251391213 319977462 422566011 992067767 110652489 176091154 236342248 949567922 280003597 734647789 469097108 556062574 483311259 947874668 181844209 462853990 480647262 908338761 365554228 373412106 178412919 485770833 794531093 286388729 608655291 327581097 637469620 977652888 773841041 980332411 836335365 556313319 325574500 826246436 659740953 464270181 971920383 641543398 964476897 754141955 489626405 904992383 271426308 490367123 966487124 111827833 318909902 713889018 158836035 787133168 727320784 253462781 424008871 988729904 209536556 956821658 586145091 587671097 186709703 367865061 111754390 811083324 633829615 363001858 681763480 359124742 136602380 670848230 572049659 404105169 490915134 235321665 900420398 898022091 510028675 241115533 570792783 711674546 301533928 664746772 477239312 571864455 865913009 316697826 238336769 790928903 184053647 802871271 507782017 248750481 824202968 865720134 431316955 904938017 976069194 119099968 150719174 136816144 174241963 475997774 517608238 453020326 226682100 916141492 779739091 295621306 553149765 511223640 875803719 782272358 177281260 832404364 613407212 990008202 133578417 798749300 877983064 646961977 961629930 195085437 877129275 761060420 697449091 776563254 896153471 175457895 995508828 158832975 933063669 861148203 394282181 428647046 255288817 725718050 239469665 654361320 577580739 727140239 165731482 242647305 165240661 883250355 588082654 498399115 580496026 739216690 925417719 130302171 436117714 986299115 717946283 510581910 242768688 464177754 434063914 946372278 696087700 656806865 504583133 460753066 762261275 292699026 675650541 545888003 982294803 690683975 130551524 796213421 432777309 993865271 144146753 646375420 771097228 265178220 556957899 873486713 123035027 812258236 769598852 693374020 656445662 803158932 996379994 539135927 663415025 467783091 767663989 308817847 722781098 596021881 218874114 592728237 742383255 292149506 121643654 949963646 824726135 756373481 761595642 995422209 752116595 277440495 388316389 554562856 395510911 261921586 372935226 652358906 825233909 995742795 691778773 603459039 854721066 599660087 815103361 888416628 209758329 921035971 894271303 939930888 794371058 324900802 241039726 309788402 736701419 788852844 163198386 416398355 318495199 944322177 783907285 999901941 159592005 135244888 492252450 229566916 769639446 617652492 546752584 936837436 821021991 716394686 969262804 706141463 293917000 362497301 836772678 500167502 603965815 480523026 867175848 368309704 965235473 835972258 692943731 941753684 721277205 323711301 989524415 635422517 910221178 339944881 215219152 504902374 585994362 142939746 708864206 118457968 457679158 163280884 271816056 128575207 213623641 710308179 500109726 578167848 987986549 229354959 151189536 495776537 107152304 740851381 854443417 379388332 401030125 763623184 787517990 253473880 982894464 118948287 702528192 745354133 981162140 301323958 909268136 445088577 135161174 657271913 234643064 439547368 771550013 772181435 635610335 226260949 830963921 233542361 672361829 393891679 747939307 782682105 634951812 881565526 246538507 791428322 733051934 195419951 219475225 122938383 926012754 694850117 728457228 307366888 566850107 220012720 321743291 359985985 717836727 622550471 952334533 331079998 929900389 997739503 604383986 858335258 359800070 521074907 496396804 538787124 129696681 111596928 398322923 928826482 755770335 935447606 105199660 642748223 487109815 889838087 509960947 476079331 347826772 882030866 460037144 548663511 121272256 654805685 719434384 829662659 378936082 504264752 112021120 957169327 814720403 823764478 404122718 138990798 551175782 992690942 868186989 386684256 182919698 218986099 208650370 702700674 554628396 242861711 891863152 236253825 794205071 627704585 791333453 133893917 852095396 613307707 472304463 185052515 541476054 128152956 848403522 759871719 630798539 200880411 509656915 379011673 356624071 708181095 731066362 143696697 465339362 130344653 230817836 623695991 772861400 209465798 469547753 113588547 353606595 839238803 941548306 696235594 659678354 598999091 414124110 940147904 199471787 425874039 334886374 123453965 550723767 198464506 114001549 875977181 429153865 761902466 979314055 802046288 655630860 484002564 314372259 118050069 533688992 159059177 262391238 970540752 916372705 134568849 394711560 285444614 774419007 716843133 366336241 900157559 522376667 463849825 139292074 386653398 506650129 512923394 418891184 560096286 690026511 426406374 421836132 867694444 382078844 666821090 724524143 908686100 221130970 168808667 270068351 433078766 720071099 278887910 433246466 955870383 888249958 272552133 512980325 142280533 747440583 599812411 728091596 503392280 354423676 979488304 299643454 957266072 467075103 726151420 523457961 765458524 229552031 847440881 314945242 747379992 954929913 243180693 829373012 963760306 714307741 860568243 470371791 880503635 681137493 676867902 593939755 337656662 654787120 685402517 691148949 748015591 958161378 978540296 295090813 928574461 851426407 449786589 460820744 349947703 688104458 806749767 486356860 580954951 628278383 420458754 845149436 235781998 461001434 591458117 354399845 650100309 547418911 817357993 627199628 352273926 277630889 618169069 690163847 305846562 202996026 325041334 383500495 108163877 151153811 386994751 582923601 343040678 679163951 432906899 121880591 178500877 917576922 910793420 196643201 606532349 812550431 572401281 574547479 626188453 940469072 457011608 108255993 723583153 192569454 421409323 920776854 616801780 570796729 547954729 859590427 205749608 875361138 582265755 648762082 131439624 719919918 259609062 661143533 807095602 927040670 955438348 832845582 727582298 286733703 352300849 100951323 270289706 129875102 267848993 115946145 232571119 687102744 151783038 282286374 325832115 746490114 499116256 114169066 816727119 290652515 716656712 672778936 852238451 419540026 244006584 880608905 717826157 224853659 738070207 243770358 202604538 595385983 782162568 280156448 263022998 844196811 713074329 986678636 683124737 888696114 586217759 461797576 914575066 182641854 629422857 518734972 142014656 331523006 960644955 942355084 491693689 923437287 310130788 655631451 400054632 727424610 613652763 421965106 993815125 569891415 505324516 946716583 336691506 489241293 107681934 728661170 804217979 796512861 431880192 197995494 482364306 118047655 928477783 457203009 601978975 563420515 444975782 329025553 606132615 363531510 235111823 803075958 955534229 467537341 123402134 827923802 656107793 149163782 848150912 796234032 408639513 353801896 841966905 843787050 107938424 225441207 212190125 733433280 187528021 231339744 251142121 739608981 519361726 507301690 469213591 428123910 986456563 504765090 837693492 408087272 428973315 433104438 279924725 647908442 223729820 296498397 695027743 538580391 225344127 681071833 605072759 676332155 113327355 795683815 802132220 843886960 159684037 683761115 350445319 985214279 224396923 143618551 997159062 823318428 783722569 182499153 593611344 976794727 778888167 550389607 205890502 966630443 168575060 223066775 161704346 342468859 472365578 767656092 682044446 651123711 174996695 215705763 373479418 280940279 814295391 761818501 821414114 210966763 388108794 579495674 952108905 840084593 443419918 236628543 316383687 188079882 695208443 187184642 881993257 923929085 512013311 849874908 797920911 349302296 773248933 608711619 796647393 213672090 913638899 840956830 253243934 768434847 163731738 907265193 958218629 474936272 465123217 414429748 238122829 698213990 193532924 747557165 124237412 814130001 499613722 316859761 937787673 659004738 885323456 761814109 153040189 255285344 860135644 206338158 920683851 266990184 209781772 150873608 335278108 555301884 622241213 325194925 114896757 329094139 806724713 565860985 480620214 924658369 572574378 278493326 660493513 799396958 587021416 662349204 367921902 948790449 707522608 217853861 361468098 477839011 889944217 826168935 584003917 916200742 402616903 516567024 940316249 488611236 620829862 247690512 103637193 752761319 312867087 247232596 750147447 102671671 253276957 845046832 456458565 529260385 594129459 274949813 518965978 562100041 891659776 495875821 499807674 999668044 242800714 222617947 572165531 258131821 311978029 318053058 601224944 793834798 926205538 110203158 712829960 440464794 910105727 677698970 137634179 468162885 852977745 650941878 725333912 619018698 543306217 505819581 545971606 316685588 696711947 210399456 923677001 756543183 736339075 683735290 846225129 626313178 732678765 649858763 588711836 498238861 596517082 132690874 294486347 607773813 150824527 680160355 285530769 111595666 956334171 167896759 502902950 773941805 781020734 626090891 123623624 332536151 307471821 674680794 480670471 507219013 376729843 469227608 229936847 979854823 375682648 792191548 637168256 918262333 645103278 982254955 258243133 810501608 367507369 102511748 620728356 696580758 406010239 255933933 747060122 526403634 456974842 636012818 365208804 312333670 949838593 360788812 253611205 816963350 885681733 903430088 809805657 269504434 490883461 855627527 939536052 321859544 267108989 973653716 898147299 558834934 988542473 943352083 162908773 298672430 810313277 817520147 375009171 265383577 586547093 283619747 296240185 612776888 289850344 497351281 752943335 899617249 254505036 178159375 112424629 104133557 546999162 631810515 567887262 535670953 510709768 839982545 650298093 147219317 167972595 703900672 144893477 582569970 272032286 666922282 773850058 909125994 161091276 302425131 553508987 827058643 568763819 474409426 596422063 780936802 187890770 426842935 171345963 870045096 952570940 194544780 120312079 608133213 916635642 383778050 241354036 386819993 919264291 743528216 106610191 137160670 464855307 624041834 315545386 996006659 758862184 134700663 650121982 472983347 901698115 232704009 964403083 318797080 618972394 187363895 273324543 473341896 164707126 437971195 877719266 940550922 684866958 967070335 789130258 397806562 690852361 560370651 200792598 641364325 999791350 826997011 943593877 572064825 250226915 771883297 276998518 802923959 850681649 574838164 871338571 547706805 411934193 836169141 539336190 472381412 114724939 556153770 171760002 796614213 560242688 485534120 943422061 335652444 326394652 612689761 867822389 646904149 515904351 996819144 755163381 691712493 806416693 443083358 947673768 761128600 809097150 767703095 627621650 345700968 932223640 648485137 609906548 215409555 333052944 274905694 208617741 268735355 924580940 646641900 361260377 395503759 754002805 422438708 259253554 839815137 989653309 136345240 330311125 177494260 805220007 195373181 554649323 422454703 367189630 849148816 540283581 549015020 373167769 593289406 690786430 973195790 465127101 521079805 149298777 630209476 359440155 687172183 645270170 498107620 794162607 872832110 335342923 173546904 818017166 521490678 123812528 491333110 670148945 241526691 173581834 137652651 821476622 175378570 265738887 423363601 730338350 655380639 654735594 717596163 519927649 323459078 212201651 379728242 700884778 870265247 738058459 518539605 538277523 900737027 909202173 337883890 756844584 551275766 624169759 803462345 302528374 596134075 256291881 709080424 549693702 453371668 252593392 320436672 149211772 390655698 491550559 434367718 118464866 336770715 206729880 808904453 437973354 146183231 623972825 907084622 437435912 743604245 643328964 784993096 154609876 883641954 322655834 940311847 748525666 466666004 905081592 540121762 454927803 438541743 313831509 503490938 900029166 462175412 244612405 667564268 441220989 686510929 509686048 502743563 410478198 855284873 608830427 242699865 784739491 676253143 346143436 285501263 243382031 287829668 306858881 569240670 696084552 548675702 869434905 723831885 252821227 644473764 815983494 666524154 984487622 655802452 608619316 189691409 245137849 689130106 606533035 956191002 626847000 633038886 249538608 710990095 346565282 944677408 778957840 513154609 484670560 709908574 883427944 130564536 624994467 752679428 113979377 896443715 284936999 776219353 239706776 452316114 348408883 699066209 231752740 747853890 394017086 532071848 382604752 703962937 225608425 415463029 399775270 871190237 627732255 538319366 219731419 472802582 379479015 319939957 838564779 887769401 104427117 245914049 259227479 641555052 231501861 192228790 447707884 601597802 768342601 257878647 924225492 900032973 268116481 530026413 948254055 134915171 441939541 846208140 847485170 414119539 658669012 565651621 868838658 793132730 406818735 150697642 139583137 378799715 523323645 164394222 326987100 588134289 896800895 160667417 486373580 430167928 815862429 613293484 244905528 798973557 693795298 892541753 790477663 382039031 852126199 936522707 973019845 378932002 904593860 600872787 344670633 857303001 661465012 687337617 163545546 231408202 991510867 394113066 833695011 283158289 621143498 695703187 972454896 457545614 931729649 850609524 168669445 357217302 688100345 300445657 908118293 582776526 907945430 766487722 586621494 250165598 436532550 270612184 163899013 129223702 411147042 220861073 958105888 493000794 758764461 164012131 874955468 817587042 567143980 741663020 438180821 891602830 487473102 549555155 666908195 101333613 982851640 926360542 477392609 431886589 406723159 957006590 830811966 928408323 444421468 989356536 725419929 111765708 315409346 384937650 929497843 995676935 973321730 505464982 471956969 419130707 128744386 322371530 455230694 721919227 782394081 681953489 950309021 872854421 610428640 450258786 351379899 795666265 936011960 652375124 798956299 887214756 699107418 364942213 768026414 855896681 845553205 840131662 381567575 539274325 118576053 837982234 739489276 436705213 579221404 362005303 508668782 963419075 112974347 118735899 942758966 911816462 158670152 679466256 269612235 116773481 638072553 622345190 595018476 541018792 479746650 870548759 343986045 655662935 700964964 447233839 567845796 874172784 840854300 844995787 565486370 360660441 851156227 610744355 576206618 824852273 801025701 638889388 538081863 841747918 498257476 919240526 764543246 765596588 239615750 937079318 346326846 293480655 133209766 987950524 877815853 914370531 191657347 372070021 258549525 642322510 420919879 504466871 146359312 404589052 411007991 587635524 402899359 694976549 967414235 915123688 399631010 598696890 597301648 510672909 899288757 771664874 744089833 555609223 318685087 704654483 807911700 742815851 306678131 964204353 507424355 781073116 448673561 563384997 395944633 398895238 472768605 173738795 807139176 431081430 136130907 377901245 204333125 900293911 859402340 130744469 779391204 714049449 224176101 692401571 398944119 844767183 747357437 760477690 728823589 618964038 690769451 915315664 961143789 978906195 475707407 497762293 459575081 452743282 369348858 803973189 474219988 983026816 261273201 787697146 226182137 395775542 968947242 155508053 264715172 270943763 522692658 258472966 502823677 382947959 657309424 240322141 578635793 910660900 862744575 109147623 163929620 798876431 422729846 220165789 185589276 508072254 957989034 510879066 694384535 437985227 369865847 662522547 475743911 821721285 251102765 815895187 515358611 302700743 816876996 460459602 472132740 553367949 146168632 556731312 460297969 222183201 918976416 527512992 257267848 357795929 528664102 936438631 840188122 610549210 564911002 819685697 219264660 640703795 330189237 326553352 860108951 142757381 699772498 267224996 170500395 746514990 141072751 689930119 734413957 917231707 250681036 804555480 154664736 932070219 275349656 457240834 923338667 992535114 654609362 553249276 169946598 838684618 196686007 300187076 207448464 995085947 993404359 964307140 844318486 884334488 540434054 202309228 810941824 130318898 691338991 554727539 429965031 222115783 941873202 777850848 296930777 192659117 318378866 831796344 265071567 181956324 142251597 421708788 599262298 913645087 146486853 475673723 371211635 524114896 797853954 704074611 386317095 867629466 112088430 586431296 703205344 510468813 253572925 332754694 767569075 249634231 292962097 490453992 726676416 731729395 250445607 328927055 205812672 532390821 626167306 269819766 228856987 491780638 166194472 347907809 920561069 325106691 815053288 369936721 641753023 822714772 286152392 981291235 291310408 316428701 615707568 968554870 147264211 311745834 606355327 878281867 675266199 703510147 698614464 507829519 650305275 186365942 133519142 241976971 187717829 190655426 887993256 702068191 401067861 161433905 160620943 557024097 161603379 312829237 301983436 931378910 997935911 569791333 470203909 590793857 485603453 747147039 363994252 733026074 687395164 507547870 228633886 575690081 576896524 426224321 853430421 439493507 971548022 806336153 859725007 971776137 775838009 943665808 268766238 328940796 924072039 383127342 616051348 127278087 591586041 145691192 461087130 113091531 897692013 170955715 145845193 126204976 247199000 777622697 467633220 499002246 424408246 110503456 507503364 482433096 738434427 474547711 197427666 650665668 907419900 629355318 744350886 485318908 881561944 764710270 134756884 215524145 676570879 879390958 646437634 856037043 237354897 759264387 368815560 543847746 381066192 164174547 445677029 931475834 773277097 311270253 227881025 166347405 721410410 626237584 348039209 264356847 354537529 356149126 712180473 789386675 511137810 684728608 799729396 158987527 721822469 972430703 259579665 905448819 550404901 750131749 304692328 553523450 695646482 906839321 791204979 157122101 838124462 961915019 795700737 629467032 139752034 261311044 257032888 443873506 282624741 445863925 276118818 474826214 845353560 612830373 213011726 590791090 524593518 894421472 363270401 802239689 727989734 984258383 291690356 740702000 267746040 847861839 127839907 825884170 742827031 225673565 476530354 220289815 489036009 300753222 696965779 232651048 110305215 934589511 503670372 650336979 214886254 437947849 260100975 758009789 510562902 144723844 834026442 685085475 303914334 105403890 911794776 242334507 580906069 187899443 139789041 973205920 796308229 371253609 133617495 732045859 372325117 450410425 187746346 220208600 889587836 879589580 355141302 408124365 633171931 228361861 982467409 571773168 104936589 208524206 451630595 155071544 835524643 369844024 968774156 122401042 188613841 602365585 965228899 645365065 220604916 506038661 789541596 984181552 407627053 813624903 454735089 945073890 702414448 270087637 708714566 365298182 489933396 266717326 236174468 608790223 664446624 445411739 353317874 767076683 752248087 512742284 546000436 604002293 363072273 225399717 823085340 844717084 823644391 192388207 605522231 770716065 218575514 533699021 313043168 332580032 488340691 191373712 123033153 595132213 319881751 846139864 856863107 904449725 859888669 322114078 700068983 717513682 957558774 847922186 947211977 442434823 521082876 453288526 940431655 278008448 517135545 511521201 190236524 868827935 785110181 703288654 838877587 168834190 176967516 232038696 186265901 760550787 278787623 306458449 354618320 842387583 754437354 688058319 133228291 779881325 821314687 287034512 989216855 569718850 931944594 600033045 622954800 686377943 760973343 121501509 977059207 894206347 196667855 890194770 675491816 986982754 224451441 317515279 252652187 343472988 241566235 430032760 297796173 316161024 902417557 400345575 674632052 841347445 886749843 577152203 894780475 279796501 729599142 822225785 107443869 129364226 464002809 872865744 605009466 459660400 892053958 682176440 717413583 273344409 788753795 584798571 286016743 838961343 301567906 579830396 721779244 235468168 935123159 578734720 152287264 532974089 718384199 713036545 534960279 258709141 829845568 403902886 505291504 376069508 820033968 379667567 868007619 972381320 570936552 352677455 170062537 618344151 814328630 688036682 337357323 869077178 698591221 794961006 227878551 530566575 655269606 985463212 581216027 698977545 536205300 390564887 294743615 970244759 377743735 373491596 541756578 906675817 644454214 498282578 916523397 923822212 660203756 145470771 618485739 605666174 666031278 789977700 422096988 682346300 648057555 107078115 519042559 628413718 811069159 176691959 548287987 341378062 788728276 876524359 361735979 653059232 758268984 238140049 681399555 888191127 179456302 788780880 770397294 601139356 952228565 934911408 236948435 710000553 180439495 182147568 356100512 607878642 352212676 213917776 931285538 701162050 105417931 258750894 730677345 448909713 167246808 491367104 275238943 928872692 700492206 169317434 666306430 536578193 151394545 245889775 285352625 570714089 955677648 503208927 120545941 341870058 237571345 424693810 371850448 820754321 708830662 442416929 430198072 272117551 389291371 336839220 479970447 960395733 208759116 526277737 528620675 164351473 589876766 728875305 617110891 388883067 225646848 657365623 838454636 159058205 588294186 450902617 456273828 100319823 252996202 744826434 798534396 615689178 801842889 396613939 171088352 780674424 674137737 439015869 134687663 433101748 903444676 311302586 954261619 342423614 166192984 141960208 216569087 699947176 792081127 923652160 931401710 864024520 853687763 570444025 713409901 131904763 887003235 650727928 206636346 522724965 498696977 764351828 211962731 264215498 888871620 345657058 453749898 312861773 546563238 607352175 768635155 970309831 296723815 293925342 869159320 517854234 139449945 782874366 978673659 788656016 172606397 616986011 302198436 296366320 912742034 542027912 743076595 763071520 894986642 472009296 942709432 199270569 840112945 659972829 987381426 570038391 148124073 577375144 133406701 238629112 211670536 529949213 442697355 592998165 236332791 167907927 308899986 299955940 922922610 519368684 515841258 238822554 464833335 347439043 166270741 273465337 498609703 157433911 786711707 353780463 153616435 503914469 966334156 834674308 604753167 791131908 655928855 724813783 553558654 142988346 141565428 248361548 314985049 861492014 538512976 604082520 757999826 636341666 864898875 290373961 612724370 197141474 314906228 154712847 556469157 522115652 275892439 143430607 129991495 775524996 750269758 229619881 295098152 533818011 688441481 649647322 448140193 782371284 687314179 891376746 908681342 892912941 343683128 444334065 247181026 592053848 394656704 613872438 493938505 855625966 290467759 849481791 128749251 671466410 292718860 241755440 449349039 464821018 941512998 678809633 201491233 819491019 309177969 577975098 339145393 862179795 923517110 344701107 552298504 330883114 303794354 918057055 597973384 707933143 519180783 160319749 275862806 511677746 508570033 577264801 242946485 577523927 522833736 318037784 175189605 398132805 315616736 461203393 968336672 686126917 733360811 340500138 446630786 473739559 532233646 447727623 316272363 980390682 513911211 275419395 186035013 504972389 533838965 635993305 356269153 747346955 169294576 616850402 973390964 731340556 117931516 524100852 191754539 282230142 701425399 937935690 709092893 780867908 194388668 866020418 183519115 919563518 443142481 674110815 523049590 949917181 674909324 318461536 900046779 560138067 168117746 436844761 310361573 819033182 215315583 952868746 575992522 458427756 697915166 353267866 249489281 506070235 837090321 962987535 524660696 502673155 498055698 308363967 295120433 325845656 168445024 556645967 126418257 968799845 991781870 499961839 307994044 717073016 442785591 286965871 435864013 308366216 892871420 374428357 639978040 185891433 113099916 489860325 802147158 707471169 387618687 709251254 196447224 718680097 326370222 890420609 175901267 411740496 211147647 363916974 479486305 551502330 522813863 565728566 978536095 901196216 865229597 939991268 708053830 701805915 636807343 522168596 564713981 220963948 720912695 343180921 236251675 147966737 216402731 905543345 117044383 468776416 737113005 640667073 136098802 207192574 948329214 926703605 536153637 565985742 972654991 976874381 187732273 352761321 661519606 580241328 679778965 646137523 217895617 970525742 913464418 306838088 604650333 956599646 780572138 658681539 469872310 462436986 787727980 171877636 215768932 387097226 775205735 156042584 285317609 385172609 828970350 932649618 914931814 310377081 119656009 201439070 230321133 927525135 732415755 818159694 577283942 488132310 880948149 116126896 670852079 628329820 436936575 826232952 665120357 791347217 791773015 371348383 334735273 600618331 662399533 807144632 332878928 858762651 136184348 850508589 993001182 116049530 273964171 172410565 980240200 895400430 114901517 465624886 722402715 360426265 166693435 287937167 977232440 374927097 863432073 552414207 858282084 648627951 442822765 226362121 588513501 687171403 619488612 423390746 194020602 322964620 863779520 488483222 836329482 702041014 954101081 493567662 928878016 669823783 624916708 685307515 837985657 740476367 115326444 976940856 173447262 294539618 936577379 972265751 530086934 431220547 590494351 423581223 129235354 847846997 135869472 920889023 992021633 384908013 696331742 356831207 256502053 398428547 879340414 493403839 176118386 456463828 125214613 812252299 282644387 239257810 491008414 285915422 654970275 902025758 746320696 569118631 746607744 822928317 991879287 425262578 596178613 551557565 219655090 423874878 483562686 608933441 903203535 493898912 425474756 286167387 795856402 281128550 483311714 501663204 558996537 603794327 461818670 904114332 482086029 120711601 298370209 827336546 897890075 780614294 634135673 702178713 568474278 895547866 287469114 599309337 807444638 283799263 667230009 121444619 739983874 415606904 659676553 142485166 212800487 293910256 533374274 270983700 428406603 475335810 446627502 675725907 639204922 222809318 602445379 261434536 206224722 218531827 183228926 649122488 503262860 152373588 689805753 356628973 456816219 880294175 489881607 763262912 684857249 285606563 736701819 496825909 341464877 128689662 937634285 782438863 350410756 476409358 394237898 912639674 639971598 998896729 448323448 661983633 319070185 890332609 772663006 639032183 563063025 239608462 528545558 310977301 756003800 686300103 672771949 817810862 688236695 327106456 434405169 754326341 896459275 587603493 569044914 246903569 983688661 507242759 847755741 335556992 872661563 900516754 538342110 411616562 855806259 140999532 650739130 948068117 440254081 662636717 615045633 449688984 854836363 469771870 202602744 810892364 219156227 956800060 759154205 312469686 150195955 706112704 113055353 276361989 196394960 826641342 331265382 984389821 115616437 366112686 272980250 841160006 569972382 288620822 803367756 718528057 321072503 174112237 741450058 635387930 142223304 696922780 395016379 482539474 736906941 358052725 342595600 730053974 693000561 434099221 676966125 685188096 865276780 370515063 545239244 965907832 511549026 741286107 407542987 254447276 193495880 755332083 348521938 692273787 470432831 670339411 662656808 291709291 964241112 680827909 421020924 713072849 686627701 696754726 694621518 661478396 513005911 963024017 531613403 394813590 306224490 330317582 219036431 938710994 947664957 448767248 625386692 710802181 828529950 707049568 214872352 599066984 880422500 564311441 794871811 610432560 361253900 417294667 975376373 255828599 106711170 309678155 499174801 499873500 134679752 807490304 871300082 985590488 567381419 402426789 886287975 158215056 158819811 326946044 197115336 146826751 976826264 407389694 475739222 255764041 186187739 282886370 215403227 408025257 955814050 861861050 844617474 547898059 854240902 613862237 155109171 817635459 337103031 379946197 541458993 885154957 858812347 720727365 638937526 251126352 422434129 453392042 926364972 311188855 789568968 803445305 953593445 166774065 917654923 219086504 103597797 820192116 685804540 496447411 411501947 441376031 718003765 143022061 976925117 110134499 529753218 935760570 962656906 898161519 279790361 449447134 556075049 465037440 433155535 274219211 737803825 801648265 573619783 473771579 516708489 207794323 868542745 158963577 620291435 761462351 779357229 962413579 941768113 976680251 266612916 931763810 613523555 232735630 337906076 612902912 556425500 548688562 885499736 921104888 230816255 269048272 166815421 232160949 906895048 769771692 812620369 210300263 461350407 592645387 249362919 324446967 219019715 248972176 179756988 681546561 415430236 789370081 418922487 748386703 872857591 652515763 895029899 593821079 653901028 745524187 773676117 481559280 343635465 141025007 195624153 928937723 799444767 835147233 506071710 806723342 218843051 489786827 105245673 493277224 330077887 969919611 651817868 372430910 551594676 514021978 488057872 830796043 822202140 257787156 882630320 758554618 430562071 318986535 111082086 600172732 547883838 524299300 804172546 195125739 238150394 767959141 724997687 802495652 697597500 358781335 109826227 833233000 635479540 856246800 527975073 305361893 616332158 900928033 969487238 350406015 520185826 808200496 386100759 493084812 766336380 480139311 228826718 725863840 585181040 432514272 398711409 971503728 635168412 918423523 904081617 684575612 679349701 303907237 148768938 484679028 132849642 636586169 827977931 164496952 508558501 992988032 487489789 703220939 300418966 852343071 926845772 663334356 914989608 281478728 805049942 154876078 816801930 989695048 952055032 123884539 684062918 921207077 570505680 197254805 654254911 372179788 891375059 863103566 351184355 235406404 716257458 813138984 822657178 407470697 830083059 324854368 302807604 438961566 285309177 101565102 537563034 141597835 376101764 266170843 552676520 129221858 481338950 532048604 829624014 914742679 124760287 794970590 755771229 148401731 132999081 571929201 813448222 512761047 388815920 108634518 495325478 767288861 891460174 953222968 898051392 392228679 969258734 190776758 271589720 403302050 624890142 505261658 331875278 955533638 401454480 204975518 400919912 253208809 554173517 309090230 492778227 846553997 722245917 895294135 323365492 328408959 205528612 505285127 664865338 445069000 206717472 615839805 874110803 726829904 795611559 407334153 128764277 315871281 919595517 387544420 908978326 695080786 753580643 900611354 284383657 223179270 624751143 217512281 630940354 912711335 868346572 181143455 605684894 188572048 398880797 765644993 886435704 905880056 806014807 216003137 213841285 966391802 148640362 620908602 434047786 982365288 778712038 698652954 191245183 920872394 306356572 657026704 538139467 507091063 662785049 943369046 822332749 326333937 602056613 139481611 636176002 295130108 193074603 905265227 828310170 253467986 518438083 745443247 771236212 745939721 848961114 485693085 779318276 255820690 523998366 995826610 552459390 278361678 828339093 139885362 881442614 717796142 874412200 661768850 214282634 787065442 162015254 163916212 301570822 880133767 978534404 254720158 449525949 224910782 238331383 637090406 734770628 286339577 274870402 357910537 613545917 982630205 812583684 518812423 514142776 314916954 370378200 949463840 738217005 814974923 927978906 575797578 876585607 588449347 175001352 945361867 855205753 557138939 488395214 699849732 573356570 179589936 876054006 669236356 253956016 610917890 167925392 516117968 158127879 193166861 321545612 893060677 115314760 707841573 288761850 323837559 572388732 507428220 155730450 872252440 259834784 242409939 690374263 319866735 896014430 344673098 288844361 679168715 763650658 570694417 833040000 914772624 397637314 917384994 863995753 273099451 374129678 391306101 998734565 434571571 920309524 396207765 387715524 976947095 971338404 906137639 811009315 317750299 420791776 838038388 366563492 448542455 687988765 952445762 798657729 205678388 801743729 205505946 358226264 900285162 455193065 584530539 883511103 225401224 302544848 613034667 892224586 487687556 173018788 402327008 551013519 323888310 144052486 644601121 337598513 529517338 346484441 749167822 415692600 316072069 575427304 104050695 967495067 391563638 336807968 972446031 271519821 746085761 895347912 199789953 651995209 538385041 620033989 519636801 338927518 551377905 959590670 649612461 659894066 799658612 742431437 638647911 181754210 122753561 593615616 919363127 115187759 458619793 673273893 441384220 427362886 799843193 284051503 713673088 415435467 793764691 541694543 102627310 837392448 920661918 215769779 588278862 160039150 197173615 943201975 602716347 881514231 272646563 116096914 227725609 933770909 900887547 183698830 896169331 599315301 797338799 840979763 963394974 146250555 829502996 285292943 448856713 727285362 106760187 888015026 171827181 933034688 482354793 269969721 508867022 295211112 827071785 845545091 922851128 221054434 671516822 838803293 221102559 216527442 169127858 629681036 539092650 406524683 421611510 127673161 836650273 560728122 947319918 829068886 264769078 305744553 682882832 843867617 273706378 619465953 771788943 660789539 675925108 692319947 682363297 944814061 968135813 290976033 259661463 354354466 510082318 127913639 581222568 299694193 370140315 937190957 791712933 890970719 914660948 579374496 616110303 882840560 381301716 633998116 823360534 797239570 328200931 850362729 434610667 140076700 154303736 488666364 314848691 119482259 637356335 872218998 976110894 926066556 678404472 349897491 678206575 597837563 351053542 739510307 731186167 590266865 832163051 205708803 374397421 427919734 283113567 907658245 608671547 184412142 246695526 922952017 604136609 491797367 709488153 430517771 180598642 961338701 996586493 509070156 425239672 333515641 712942369 614656418 301947153 837296223 459785498 823010605 586950455 353834075 502268822 318323887 177368738 372438052 326529040 362769769 543258648 172237846 417407414 585757495 885828349 995141737 585276343 578763319 621130658 658912372 915321855 838057236 334892742 927173820 268875668 412812104 686457421 642000349 599636003 811170104 798551521 614027279 420348185 817419318 369980277 516514599 481714462 991865328 687668873 894604861 345959110 142309082 290982993 381182479 550640750 563573553 131111356 349733623 782111883 606946815 687984305 194671001 537276802 499596996 140733868 878199938 282417366 421053296 625418901 668927553 114446382 384996831 573823995 121094711 435128515 250321565 710598978 482222489 145223950 885935536 220720968 421086690 207398644 905073418 519592148 586989129 214482137 317933599 504089659 546797398 623322895 409906033 651658595 658571299 971027384 256810329 819522049 256562233 569898215 715265010 986123984 839062006 915127519 471830318 538771305 802448846 370856844 599733499 808848730 554119034 863543632 536946444 202313914 365272355 852677443 912949364 180844589 768962695 366627902 229154498 645652826 236271905 823478605 726501723 685731867 101066193 872469451 748493401 243894030 491797808 859053068 612495125 516388735 347391064 842873545 219382593 635310201 953942768 102197605 967853838 912527684 109374376 339408167 778959878 335111914 712127947 863317039 223092485 575524188 302181655 241297347 378338709 247013818 343100874 204818318 548986851 852074372 377785039 167973943 870374106 431632469 487777919 353081805 632345524 185797697 991218958 696887125 863835582 185977986 752180334 922481938 693006321 678527913 950731083 612424780 169205382 872794973 558654862 607310664 876627678 888881036 680365371 967306405 778671141 945275011 337280536 732057262 519558898 326997421 338394592 866317417 834669039 875727339 275344494 648825183 662998809 474715366 923414618 164631606 813578115 907840240 661806324 626297819 173468622 112715021 214782458 468460982 555437151 498380914 381764091 841110634 366689474 816186662 532758003 913602191 746348973 948239795 100551444 440832204 273284130 835486273 692771657 882930718 545339865 389061096 365503302 219936147 514200645 361593328 907014468 368957699 900421916 126146661 894999592 773626267 199994531 334020603 192890977 418162716 693941971 616595344 301996439 800699112 866380493 713721876 148619826 780970570 659320241 257896659 281697368 530244779 585802700 150983177 829234594 714599713 922448758 945738066 991546155 540060957 739095168 401190091 424556281 485912520 253245758 835910862 791221993 370153276 764472683 272059322 563150239 938117725 241432949 125958393 626582672 754628816 399466767 640255842 721552883 335881268 367848582 545629935 410909177 770350546 486782906 802832703 506705228 642757399 435950542 637736382 993687519 205922775 503131174 619189120 596726772 159292339 653894757 391128890 824383591 749258669 812651631 853353070 465936956 509838256 861789484 236767128 245737665 335804347 323768051 919202399 374396564 889474992 643912643 966741534 971384414 285085786 146784895 581546379 645121792 705529602 147801283 650740104 788306486 774497843 699662265 122992599 737438731 742512105 370113970 698932966 744984952 566223593 107432139 703155021 611435606 412875542 817502097 987750432 640419540 558190865 986782455 728569491 439652576 713932736 900633681 919837326 307079080 462788422 136835020 153558924 957036780 807162871 936887573 153365092 419255775 596513895 336705676 323880701 509985762 594130417 768431498 336728065 694692736 804279853 668772325 589411270 469562312 700610854 342009172 238062141 403859409 226741080 457447612 624810046 878898919 570310089 601063899 433807653 620673317 853496706 252519363 879312829 862090364 893999811 869851469 600155515 574775776 718424804 400214487 333810289 326410226 132162151 108687150 526564215 124421513 399839387 533149796 493662407 273183018 266627041 341933440 225023336 825636868 701875472 157804332 276109557 284925077 282644020 168651701 826387984 123585704 346142538 469251612 647042343 244597521 128229130 643772932 103710749 924808485 431356516 814470347 206225114 619482339 283860170 246922189 904977855 789881591 215969661 588783487 663868009 192213008 355379153 798888729 391416485 861680097 792354937 466041416 324220440 555824196 396809161 249909925 598549817 504845758 139062593 964465224 720228590 656753472 736319747 494224580 609763831 228295019 838955812 553027747 805690134 272713255 734169508 379409357 708632101 268557761 130016499 452948439 839941777 637561316 183997833 113978971 190899800 968319041 384836821 818312449 310438711 140144447 706952534 290755195 412465938 298960871 621121284 644586413 456734321 475871405 420000636 322506596 778647537 325499960 422260086 618888183 576619762 533421562 556203965 933575839 252644145 142814028 448166872 546733071 522123047 909617811 782053124 693681112 691617743 682799820 467769542 921496639 552509041 591953445 676743186 105034593 388179514 472963422 601134487 836957998 127542676 209866109 415962926 412564343 316558352 566964218 619989208 445351572 389650004 815205137 373972709 335340104 517428065 521178830 222164917 795561283 479036123 353073076 996258883 182000493 932014515 162720015 134582522 742195678 698896325 714886544 416582896 910154454 947443460 957901066 273822324 526151578 814935380 977000222 209117933 915960748 103940954 668699056 397622292 792491106 246421395 544756703 220398088 612755316 384759706 603973953 126268081 772228945 770318509 842535816 369018359 462178131 226822258 399870685 223504661 542003096 724341674 204768145 237806580 519568014 177915080 429648566 576020452 522629194 323543761 767176541 236490564 972723563 111205161 240313236 296667573 317359517 843803778 610832625 630687373 166477518 418007397 995260577 954558537 466404023 550473259 995090211 860981258 909802659 413912193 358191751 384699581 936232809 268586965 664566825 286876813 601012223 792819804 907447329 580550898 158721770 749810604 672837088 822985879 478841940 844586224 394086937 973193529 522415041 114257601 971533023 268153474 778414319 376541464 237545698 584380588 616771928 700736909 335433093 841556086 338332076 229637667 130530705 685159913 492380120 487739519 226159559 884037210 704950584 250954511 552946704 259744256 974766596 555057689 875491029 947675838 658266499 121151209 959580160 389638615 655574535 855655459 543981134 163329950 876810971 701347061 901596491 890651580 787946033 960096215 891753783 826215942 703358513 547997567 180150812 719280191 791981625 720161049 769493838 621551758 588307235 609040366 927279286 156901494 180959864 737602667 284301459 137303353 164154970 556921820 843006307 122043071 435377252 141375084 585990994 201808249 985609618 250390240 519944170 341873235 566935168 790106854 140668369 282557884 208971372 354776803 107582661 340915530 883332933 290913935 378477789 243346102 715844895 542452377 634670372 169121259 804335553 721849941 430777395 984896975 115194406 994585543 327568183 243273138 275852105 838852909 395085972 391647610 297223109 556689556 951185412 207131659 999343577 206636397 895788648 286913831 169005907 199906494 900618395 339030333 771965439 544699412 829120313 172340060 212892629 841386708 157004737 627347200 677782361 882635992 930667365 162302695 426316842 660596496 967334304 305438714 190724880 420502780 363800362 918261536 349058637 907873448 920797118 266004254 316106720 526929860 667727092 642476195 630083881 847167142 635289155 456560201 643195226 277845067 676443181 378920423 342009152 964541012 719567779 522588294 378060229 403675111 189819875 321699677 107038032 215395090 583268423 206118094 643521105 655105130 155014269 257570961 740482865 643410448 197880930 363231776 349488344 409040409 363933766 973892257 518113416 305215411 857258127 552165074 426233730 230532465 360473814 743053541 975769367 577921090 978693897 176250157 926085265 527616654 693618248 360459989 659599173 580240569 390056603 183496066 485100861 279190256 739502047 780491585 230678957 686494500 601852109 341133772 290461425 527988094 266553946 714744660 878805470 622331791 959535799 596959456 146206665 488139506 913260791 921655059 304072802 185259046 551076114 686935091 846701106 905428938 953551636 266478805 412185199 730491481 833645606 499310796 801007140 329514881 587091545 202940014 550928403 679258648 163637025 943504665 412115626 334595163 772499264 180435561 846959542 175883646 495648640 709522618 577373545 287086269 471101879 854516979 573702059 329966962 647534570 145718373 206847829 419014745 126119875 290821378 760880989 759246573 892834352 771975399 497847838 860188708 517032484 165085493 640074684 393326960 599510762 123591865 777714735 533922984 737278923 139044469 222757485 784925519 325578733 257312132 950578464 504111110 234264327 818059172 598940437 501594068 329867362 349620706 391257179 786027089 763234667 314287130 638190679 546187951 631561044 552114430 343333215 794178746 559685683 212001195 999444457 722765693 994703633 184046555 842071926 574752497 486354494 766359750 853392839 229132206 746785085 279607811 873196879 581521102 652846791 978551665 740011639 466020446 219006598 466485352 911250937 163833774 661769558 311992066 651441056 763484495 951692064 981297900 345247496 158189020 841017323 626795841 290704576 895460949 115222259 119027689 798388968 955939208 752359034 613981950 406986944 436208078 793224860 425778217 406640052 957976990 797767594 749795796 564473386 290143680 305372314 494570695 921424052 264847477 793857726 193943593 275738189 375656997 752198531 706736357 734125684 556673414 983446786 892614062 509811039 663315318 821724409 243261636 380357717 289904365 672933140 217536402 406645707 805880304 286101269 229000577 957308134 205665780 509020016 734280238 744962228 414711910 286498536 952662976 592388335 129845160 728424414 846316122 330398923 506322974 975809433 204337059 904241683 607164267 304990146 511118780 259630415 619860802 927837001 565168160 917163386 461317891 223637594 991464617 426784749 528230651 487994688 674374150 701766666 533267125 944152035 247911381 514451380 765813711 263768972 129154538 795357969 615756921 642179598 863584486 435431358 210520575 112002655 554240453 332339794 542103792 773710569 547392600 802178559 862914233 360949338 601647655 140591311 223163498 453019233 485285775 936902180 684526016 748927232 264476081 861775820 330059984 863751425 450754537 436831142 912263627 768497763 537653847 576794565 486084387 659003069 994383361 222092248 670546582 631591849 884456060 866671744 243446439 116101491 334048292 207657886 817572303 542940153 636735747 801347947 211607138 656610985 755979101 871160813 326768461 836433400 505327413 558560083 493703145 724493643 280627182 368025172 488260529 751254772 224277531 484456902 137049877 386826873 468258577 376170710 386132961 523843354 622338493 592269730 709987581 545924587 521611782 210903073 441605827 590982586 370992748 997024696 314144059 367806427 859446884 228723295 166082639 659592460 822724917 175394392 413500494 868933406 419894851 145499174 670976047 280781951 468527347 880827747 981402697 164053956 343051061 173359760 997349766 293456419 277758775 279649727 139637939 550183918 536091079 210817481 351486634 108309221 574299823 152364216 183364186 959401051 960880324 350744718 772845556 922306410 512152416 904562924 380328893 350273348 743059434 783503076 967535073 517494269 903025327 753239751 797076810 247593419 978145088 759769843 163990034 921740609 836466039 617887435 154489756 600111256 289070155 462873537 314585063 857475844 195713003 909717110 995338542 153395093 185611484 509439766 134428853 542327082 711298147 182027165 598996635 563619833 864150473 365334227 529035710 420882097 155478135 942050993 184209580 517016635 282677940 353174465 132664006 107787325 602925120 171907093 130009609 124697138 991840233 523117304 567509114 536055774 330631254 935197995 943226350 400125781 692948129 741260848 666219713 293266133 575578507 412253018 557837592 538277166 861006648 124207681 991032843 344722369 744351740 787623850 310767588 609510904 602683738 492501752 340898677 834231042 547558151 884912289 548022647 546113496 698067598 482554550 776858515 941739568 725168882 153710340 253121598 749288390 444878317 565058435 151510496 774774965 604912153 115321975 865130147 982898968 924291088 681639510 454984146 394880113 141415496 371220990 381908974 762019051 950374820 255380767 947899976 800356252 213904304 608510376 400292968 540524263 388078037 705296888 319203558 715455417 330226325 468720772 196166965 627489087 679555839 939696504 710633963 456932386 193254478 212222783 697357950 345208459 217827543 787229678 833416968 203563051 142979508 954673337 320111984 238405851 910213841 859961002 600668851 863798228 168239068 913728804 206628294 529594042 247956167 669559940 475965062 409600199 633681137 851540632 179209398 204260731 779977378 189146938 374601970 942637320 276328268 553311685 596847079 858352390 567051647 382657795 453783364 481741021 662662393 486773336 833811083 477456065 377534346 162677263 694887641 726731576 795842848 120690643 243274494 828201432 907709772 375962624 371507520 481559025 821869164 975372685 726368391 243249604 300549549 279509574 281405086 368181981 258649661 987779723 630917942 779664760 789976556 917782355 288977742 988717269 875508881 805713112 612973025 881259089 515388848 275194721 403152169 617527884 488603718 490702634 691665402 894062006 556423816 594383760 553270335 190929978 754414879 470566275 249111832 820559150 251313085 800292124 152683147 971503017 979111449 812216383 846883080 580835230 136420183 848762373 515825468 425635261 428987053 167986243 326826154 218638845 785759003 747425072 706388097 726545139 583171711 664416744 742380030 452933129 459468218 818281959 376080571 550880637 171455835 939259434 133583229 530947098 500449393 386796657 809429472 784967459 832948893 556754419 725340634 824656322 711560465 304555772 349807483 347689337 366149380 748071415 447731365 959281713 962311870 595362727 596847420 738938179 929533804 998486358 115176028 128554982 220947104 684110497 839545332 312929714 780816611 871475431 404541783 314377893 584494006 625836839 478929732 749367137 522252331 150732470 816243879 222241058 247736515 647811215 287347723 211511417 575788566 166607953 638818557 231799967 921975159 858488541 746377797 342530054 353605511 929717101 488559347 110772081 802109130 572932438 999905746 264046848 728102937 626015821 337126912 675317095 108088628 407118100 717777065 928414859 500342024 641314331 806090251 759747851 755545121 567355754 944744726 440086419 349724478 469499749 684092857 416395489 443797922 998135981 348954480 157967456 771549151 678772269 952014788 969649938 989555676 330938570 795085736 656800679 367574958 546629054 558305492 723278862 353468355 101513140 297155584 597547836 232795069 341775246 289668736 288593535 772756552 524714769 921792428 820914951 815484183 699905280 133808556 927737351 166776744 140999287 949791044 857760561 399660660 624039663 610340062 391022645 939263612 858342084 892124363 702905830 341857891 729285294 234298556 739415582 341055110 670179584 827756853 606095942 459672891 712514541 823730168 225390695 789798615 742392638 862843469 291508454 137780186 706811541 853126781 164986164 624017447 191395214 552193462 130564346 846179341 659117421 596340916 374308856 899050217 142240119 598329030 767415793 408346629 384465135 446416094 671698920 134638389 139704123 395839371 397483939 688645764 272112105 823870720 866598012 749924768 564665074 364144973 522381712 458600867 920854229 902468474 291540322 348233343 984487200 948671687 494459504 764190870 782327369 889537076 441371295 325054716 563361092 187751265 966100059 798336673 129293190 738948327 868558682 469871090 824416952 172697524 250066342 641772777 533772876 584453146 850097276 821517079 178433732 778394366 261083763 479660941 750548058 319444803 249858818 229867932 881869594 137033416 785194739 262087970 392461666 495906600 454812971 698821096 678150257 969700572 122784020 548810842 556339413 414781932 803533874 779930491 152311881 418047642 531832380 931150551 234235963 227917701 539952255 554439864 559746147 602293718 349316302 694704675 327461794 842226336 248895220 867260787 234507848 681342527 376878062 928932204 511668388 451044812 359033798 942200246 282500844 342761435 588480960 139538018 796758991 478608012 451174094 651178473 340863837 233410915 368405248 522792176 755847241 237046991 207811774 824900909 618611319 700033838 281713322 154956865 501246026 272545164 430871591 306917604 669360386 230013693 338022006 317750242 610668191 581357209 106690863 560798873 130271148 406323368 638267388 797318628 114606616 439948715 607760948 989111602 486096000 826717691 606986763 799832824 704315664 883697166 454476930 873952461 288535843 567264471 438407044 660338650 149606660 966013823 991286408 690921578 989171778 282152927 114628262 391475383 217644833 411846834 841541241 326307714 664064894 213018518 271387260 133432775 772354063 237714261 577723745 818634120 902342615 296612867 583630382 367872923 834294035 951446245 218369072 125564891 691919227 488704277 246185236 791967729 796540013 956068299 488327828 111952174 963777915 970728012 875441243 729129184 447391482 360634788 284291194 163764927 476387676 474492775 168591881 894482170 296111264 260328548 612213560 348007181 413693815 470416750 231377171 928321240 638725272 344122417 562693786 691800092 799743156 819110520 962209963 386652025 833951119 383822386 632236466 686308943 665477547 730909888 817441753 490314412 897758134 480873497 980137967 766835070 814814891 195569276 171763885 146657154 978750540 953187197 222960668 152122357 236774617 260090929 556768518 686393082 501964400 752266844 543575141 845241346 432600047 681976440 424283758 369838798 488736003 851004397 423811849 501143062 442961142 842155700 543297649 537697365 704787191 838966541 183039593 765667892 433531650 128113028 865218128 144431274 486215070 470603423 442980290 722877268 592293150 832773067 141846318 562060021 298840829 510509148 120803834 974044929 971579754 428091916 450115388 877403537 440093524 345227690 323993751 643666673 827589232 763177950 180054282 615495885 316275531 377815312 622661295 460029954 284882488 828079777 476282224 632304120 376090647 937899653 461763416 625661528 317289662 861682636 956720380 920556619 554714425 420592567 590769900 194326874 123997087 560130614 161973600 278084760 756438820 646008990 504013467 237592777 361201169 715913228 750349890 886234073 663210765 147366782 831661476 568933949 772812635 328685728 208925378 404156709 852860828 149473492 351479826 224219437 877887322 818365931 294043055 262750421 382521258 954115885 184390922 179701627 573437141 715271125 986778602 306164054 624305089 807399562 607187916 357595841 340000123 166234640 398516428 543356201 497278622 431805475 169245093 685103708 787533394 159949267 200147611 947633686 891439333 284392410 944808272 663823996 548590440 950766205 678921615 905670996 353343982 216269143 257405396 287941213 719493535 140560096 588443542 362944312 134857903 207818009 626612138 365679637 325262857 469138771 841215237 736812946 331277232 441319464 713148642 777308297 479443661 679221331 768357316 936072634 179228438 565677936 361865724 742259693 414144136 971162201 614660862 984524738 337664573 824891933 120874869 847874536 222431626 524757391 185064975 993244253 233753542 603965100 577467718 594338525 784192861 311851463 370652525 218903407 416159941 231604607 804150081 423493629 847675193 144884358 879798469 640312342 392455635 406545485 380726656 469035539 489919959 875325688 193024900 313819303 905027890 897892747 476045453 101970401 532833915 815961733 852171151 429892841 276631324 706268992 914151221 162345569 999804411 949775086 888215549 168381443 707062037 516110787 710135757 454203953 814041556 102790845 204715409 289600144 183875795 319289412 416680229 648711469 721497351 441351133 912438525 180039233 788179762 290044747 940166655 237428126 799787102 818154852 972863247 199317000 321611302 800226127 487135085 240061181 844726469 360385968 794868155 504100585 399632998 420425701 213626517 803189281 213107930 699120899 951582952 460991153 163414309 323539358 453590972 799400808 583715884 827479842 786347628 162159314 861397161 633109897 270561234 126006045 512593760 652641609 277916640 368314222 813879774 749764520 911670339 873008455 695016379 528405691 100726493 566481018 893308703 170183282 224314991 226766391 390954192 482645152 853539474 361489499 316891233 810953995 914193619 455124439 679430997 130595906 223437116 226598397 267396478 819553120 866760397 949730007 491106755 690648819 709019412 452017953 478913216 683705089 504444591 406471248 259672973 804004993 611247574 758695729 120332780 893818356 641356099 695136826 352605368 930025416 765764051 739579258 313729325 693012801 885318007 318439174 133184119 106558858 495280756 417087613 821652963 908917367 166655589 422869240 542189643 394983952 609372261 540467326 924539605 575441298 886787479 171086047 156943108 467018497 300750285 805628962 355148919 630633326 868282009 590791332 791439861 989164994 925543441 539447621 368417036 511453085 535855980 248796852 427188222 832529776 387089060 168651957 662992640 130942381 262628747 985070919 747296567 182480803 332570784 336840849 878730486 917056884 657804806 642319604 189954873 337476562 190018443 217570886 445323580 255684519 234205264 220784416 727657556 466525853 357436447 127641385 267521658 328324280 644641316 282598777 292620260 998310236 568490497 838565903 271009027 662092916 355818411 937707917 142993139 506368754 732855990 444867533 670328914 876120140 685894552 704350573 846985119 599109447 715237988 503809619 945375615 451794183 426486887 547712723 351683104 646795296 895734256 810858608 901682299 627462608 215384765 713867086 561153739 681012027 308224685 584280299 546923370 173245638 147435826 274620013 732973648 994281133 211226391 158213397 356426700 477489380 577674030 142497918 451202880 321147133 107878223 411134912 382201706 495655059 579465056 193027241 708754132 692646231 852018154 123446486 267110081 915436528 807585838 768932745 438775346 251144840 156890376 763356007 550405948 275572202 220949115 802537804 254210036 170159915 221512880 583570448 643703418 727255953 561331833 221851279 743461101 258561306 961727661 183927109 552474466 195339653 377653193 896728031 824471880 814802989 987220723 184351619 686313144 473420540 852293568 109139111 482131662 112406412 722956377 639308856 133141090 983773180 977590700 452419302 616510350 822532397 877431706 204053913 282952379 766210171 107461473 786256612 404875663 546700785 889889903 800382649 932636022 150891873 633954338 289654452 925444103 641156459 721069244 952420785 604115241 716254948 528384739 309836408 417335399 588742446 534929800 735423177 672893965 812737101 285590696 149197358 484492071 306212992 179516416 815111158 677178241 877106817 537272101 274553192 835033291 797703353 260797506 939537084 155339554 622381939 393684954 271409377 215611686 648048122 653747742 892313550 201069841 109816937 969739133 255774383 172497630 937071858 184416218 880132198 317966726 241877458 263733234 185786966 762983322 847809728 557471865 890197113 554412761 855983714 791094199 229275285 880329525 695480587 851754559 457026015 708651236 239722046 786423200 629944636 112815395 741828294 237733748 828600494 203096956 174271644 598501561 557227104 369369633 949794218 947200523 739498181 567008589 127338771 662786959 763462149 976618525 694721265 802166285 330678243 161916834 978716672 926452828 708582669 816859931 606501580 384923097 899403355 416698745 668443090 878458470 926796134 433985352 748675933 716936156 631834081 967633350 935569137 335011635 484921052 577629972 100088940 759634677 775035919 381274866 770640052 321520117 825152702 347452371 275276955 518400114 281108836 616864558 632802619 186645383 438776773 440774601 242203835 515745250 405891517 794305067 686936383 868077304 817118190 944527720 387194526 786088879 724221161 147625587 789536874 277185905 886985644 864640658 783581326 146752135 162951479 931486271 155218694 580704998 818230110 667244590 888067598 585614429 429910952 779211884 510280649 178235112 840603112 440655050 213968302 906159475 800191164 517599021 614246908 718985165 586448302 199322867 563292045 377183939 521502523 813358105 772781286 738687653 974280473 407094870 629515847 216031915 188441850 204705850 563921134 696870498 276750970 609576638 729888386 628889240 591699932 619856488 816252970 203951012 480941688 486765652 953267750 871558458 149592048 165452287 848910099 241696780 438167547 667674742 290870349 433237012 711837839 655505365 340675812 175282290 375229815 964833602 580028849 236288993 594403696 748443771 386553034 323355795 397340184 533857246 106026224 471864701 154084460 541555317 783516177 723980161 906519817 166200723 115488985 319458008 656056520 760996762 220428731 920722652 764014404 957309553 394392875 583829381 619816908 994616314 959219034 256656727 195260094 104836985 250169018 919471604 650120573 926758269 268292433 123713509 945118017 900570464 965136748 958515384 496046761 624199112 556268059 731784310 285088227 736081272 427622461 936411851 131154731 856077759 667268312 773827708 495867307 267941997 405989889 939830036 287722271 733390562 893537018 416458415 695694862 247976035 873421017 496797117 534097579 871770828 726202287 969762867 503970864 862560758 101045608 913481879 978557131 559725006 347378223 519321849 744615479 204445355 286226059 227506244 216241330 864706800 314600580 766497375 422378568 121132385 435075409 564631152 303763122 343277490 706254066 627622889 269393462 273599374 688890352 229265689 205026759 550558787 760036966 666260832 521260079 964257720 932991934 744817306 660576459 385324788 965111088 743624720 295436302 319876343 701284544 929541387 545047055 666819933 199316782 544031837 579538702 763830552 279348020 148013123 476027015 731501156 363094033 672516223 856498983 753841875 864318486 955079790 245562644 409736446 616803692 464502287 982906878 781109547 115117348 991875810 890496481 132352558 935140115 758171819 936872077 329131098 779801455 694340508 214531914 972752492 851978157 216165252 743249872 979626669 977408318 373073567 736375960 814839460 776617510 430705669 644514234 145490943 594535687 259447289 404194472 329150904 368618274 124498328 825150401 677343524 321015903 968869123 863229697 446713050 834259736 663264717 755041346 479588164 743292458 492691588 641717840 649505935 689632105 328695447 250912192 512076592 460847113 356343292 204959454 922326910 215231834 902183716 943715969 310300099 729858247 897663166 399763631 809102521 591261596 423194327 910358854 562775820 918720375 551814177 411999023 550589231 729399068 766871089 774325794 366361641 486617963 294103637 368667761 672402675 793555698 696152034 936259692 828657448 806835445 815541029 252324381 510121184 533831003 754051332 557384014 167696657 770334341 805523668 960780346 666680111 610215084 436851119 610170703 610337734 526159003 498029188 491416980 234114266 528432816 243863283 460285522 448367607 605514458 280885890 121973286 888959560 919071325 500213659 800547474 784049874 636332890 804629257 420911855 816533831 847127824 705758551 266554671 419401784 755359486 236779909 452726980 967172712 154403059 773600891 651458966 230261813 968765480 282027945 200674153 575258057 542457177 896512360 673879539 769825545 999618436 852241909 726696123 306597384 649706053 794834897 329158203 785950338 659743504 911792623 463106644 134634308 329648683 667301687 889735538 697831704 452063962 612710637 597970127 599825057 896469253 851998215 990886893 409739778 346104165 537801754 844908156 447799893 931917432 890464471 915368948 640646917 622883081 117868536 423216406 815803815 711214259 194149194 108909364 658802270 892123623 118554242 191827201 834706752 534432142 830222858 213025344 227947563 825246325 413832554 373693380 307769442 896381685 112619373 256288435 128196041 254600514 910637580 897927528 235733384 484807696 766764538 878986320 350248862 365645642 462514568 335807686 726313255 769174631 242017391 214490937 658078736 512832857 499655476 896066566 232647030 439143801 387577728 367681424 408607411 241962025 686833734 439873988 671468927 816518208 136947126 919223080 999223824 613555230 284651266 614733508 541688012 447251504 822023959 526685742 849045831 924071883 338753976 346845901 565034166 961242278 420034076 187312848 417668262 405556041 124811585 804302333 914320872 589212209 880044922 332698320 744946040 955828810 900606098 165931982 868496062 346719937 962101386 353078458 748728345 839304835 859419818 211342913 903989083 600598484 645303044 757882882 109181678 177916974 300998929 297581462 513054656 667204507 830272869 343276037 882808442 458188461 141592025 682184907 734184603 759391253 909658495 881353274 357645033 955429821 353627707 447815690 366736728 313518361 745367755 957154831 774239271 972859847 421329101 203199683 332243667 982665760 495479580 360795999 733939366 964653262 905583919 434807007 798886497 116418788 163757344 714112761 122969028 282000736 702689045 240138787 788490463 672558248 361480036 788091310 202115830 119525812 946196445 711066709 997642974 245899336 471240479 298843839 871901086 998633497 502730317 874206111 432187792 352768362 546339958 565463881 686275947 609182261 620341469 246509043 752148228 560999880 452184337 624036185 831413323 828201569 679443119 938838047 370891160 146106147 960347332 369212294 894070464 591447520 592118780 726326021 363055081 528721507 530322874 347850472 998916885 144915508 851009504 839571699 462506273 840224515 838335294 760207286 125019825 997513527 499550152 550421382 573546983 732481814 344558918 327250540 642809192 143479271 226718197 512255142 478595952 882823565 611197398 923881912 276376686 514903272 136309882 177097960 654197674 470758491 565429380 473759045 487341986 721251750 186541460 870176750 176402047 383297281 986442748 790390146 801585482 118919758 280313527 220337609 529649001 923491047 549201690 307109234 502898980 302865209 147579951 582475576 347018640 111151213 120514126 102359946 533360729 761076130 661000795 160983918 934818139 201232982 939694353 848479518 759232493 613059580 106261973 116362116 419503410 669213827 130818580 396214412 664771915 161747349 410212933 657665028 742266046 964189889 432892276 627520574 575219394 478472091 110498957 637380272 188507587 582574538 183946545 339600872 755384242 853639851 912300892 989543925 293931792 268027754 513696087 711239544 278422379 607040726 770714923 178789724 134203526 118473507 433768328 968841896 473401214 161707267 611489318 211878692 406810068 398190698 940744933 122866182 814324209 173505101 974493506 331886636 961119611 140596498 982942321 132444484 348840572 407822806 372279157 681044322 346812952 602022653 757280595 855960092 707557742 722926950 809902707 848854974 103310945 293845149 293170047 776921143 475881411 237221040 312625676 516020672 354991563 287616180 615931767 720690372 827137725 617743130 339283554 943975572 791426144 540638731 601037747 842571344 741819101 710434336 828166000 123887832 516356961 681279209 757807102 296596897 317611369 514555102 696437773 977269072 419886383 540860658 341822170 504157831 126397852 226166323 796605031 532766515 841775415 821587519 990088329 833896754 401986158 355806634 832826897 870074103 970828357 121669352 967409644 951184889 898031163 142727474 106827886 847229550 743787272 789142357 256309641 706844020 314271842 256246358 923851823 379170413 145641954 841003613 353079528 307939250 880300411 467243494 188301554 544558076 110357447 112798640 434435636 525799620 627311748 691109223 618833760 853164332 426035381 930410593 928597198 240732978 646812204 870840127 683127759 870134595 349160406 291145488 227824490 800224023 163005124 250815334 473512073 339559895 460996534 577815312 585146187 237976431 426595547 726306400 998908399 618697751 264049580 661336720 209475208 439827710 571480123 905524322 193642151 294466750 879324747 841813793 718419964 857654576 471157924 319810603 268656395 877953059 714055492 740883732 770356026 266660176 476285065 485780504 377859761 982734441 374627794 160990180 399952857 782108688 528699954 514958766 155491850 599759494 603338316 218405161 700985535 492493648 752647220 899030294 194458699 933500298 668244625 900643354 450556775 561527351 751621999 853603980 455770681 348969138 948314480 239066355 717678609 271971242 709561793 785088310 471025733 967208005 387899455 745186584 508552800 734546596 116222058 524195847 398223421 407633823 950097830 385023662 343029034 621748648 950763755 720268241 541977263 315951190 946961658 528432997 264125930 254963085 980718326 871159824 693881874 178547628 443737993 328498907 357395620 833979115 184546911 729368373 717566214 109124484 694697314 421171468 996611340 557223560 683453146 142274598 831966191 281889939 750522567 529531603 464740175 489191642 121633454 276717103 338204957 809787673 159466267 491857276 680209407 862125805 942119769 600413615 159483134 236328713 322873411 662474805 589484622 987124042 927444416 982422010 764657786 391074296 700490049 524216359 252747414 838699607 806761297 749573556 139807591 115875419 142356520 820513498 962179624 312976462 911572554 983104110 231112959 778510955 985865466 240987159 225301370 769518327 191311341 543945330 847984818 431085023 150547680 367183537 502093869 941850121 254629235 731580842 337882395 956790934 624542939 527520191 930454612 180327090 715541285 816681575 180389017 830548358 261378635 460126742 347876882 662233741 872293747 465721439 528386383 964795510 664435348 856804467 645193035 369997666 170466802 518744126 561495152 502419150 543119973 638020311 362284572 137675205 746932846 440660908 899181271 127001097 103054815 714927452 817906944 628411555 952247865 622143063 578553254 513959162 122904483 379420417 338131963 947338736 434478292 646137691 327949188 751673756 906891924 878189481 417629519 445025807 474729947 865802243 918131338 229812015 878013643 688797492 848012934 568827343 492682450 712353467 433777067 933656699 647180462 770144030 669279367 788672336 972438858 174607195 732390111 729585426 943020401 941117387 194071997 423672421 973812781 764120857 851118659 744973791 768115676 709101656 155303562 464116965 963261056 670851920 865412665 384784951 805346564 694174353 212883139 241521656 121276034 132216753 230636305 733407300 964020221 223466091 191607906 599113977 320632798 243293587 591063911 444645242 993342225 673992214 680658020 157828830 630304506 959393569 342108336 207062335 972313534 742912202 719238617 799285465 914627036 929867476 768991882 791100882 126064282 346655733 335228374 793461014 173762775 888903762 914658466 850417635 506478327 488667989 676459579 446388196 496325620 680590403 817667815 781348769 453648235 596232985 775921308 885632879 566531006 308927957 486810604 816773951 375333039 666830278 364521410 114355523 176629647 403828629 489993636 332735091 843482623 954453654 626256831 887167595 217013491 697995726 995417642 261123700 814033950 295359243 877552823 925146568 537159200 624978803 971357786 362310516 899211841 362639157 648997927 907064059 988157999 897011473 781753966 458962673 132710005 604088216 564476683 904644730 387946582 226861929 191598472 557890882 503437357 507725661 289170712 241827166 356940406 727567389 584602912 612989797 918408219 743725100 258628610 540030592 700861893 991810783 534529059 539391891 345647285 996846244 851135606 236863871 129730141 132482962 180327366 244097500 593758328 322574701 842027866 590957136 743883536 776551098 966780427 114888404 285362251 585775626 636651421 837888628 653493324 320540586 290880100 879517263 736286362 129195770 574623695 518904278 117395105 443005505 601884174 403712971 587018314 134693513 128984668 187492741 697221167 746617060 175732533 939322879 848284252 945720679 571462785 514599104 173447144 336712022 727415217 843737217 616449470 254314071 877896624 588865183 649703755 544309989 453255994 793650745 429618304 661032817 337771190 728040976 942177472 928880464 384025294 802949725 320203646 638972861 552457887 511573395 590256162 542934201 288295690 716349084 521125073 277333719 484181904 590761325 297686668 746746535 655280015 137260714 289892007 777664239 394641216 619523157 434353150 241292088 469589677 163628333 760734157 885097034 352554229 900426655 812161071 375700459 467052219 176159940 900381962 723015078 470660769 151098712 226531716 574227942 935976795 771621569 353643474 161707955 962676806 284506893 422690776 996237678 534222457 300848419 408514119 899399769 114576154 482672766 454815836 961596081 589722508 798700096 748437825 717981847 442370597 813816419 164552877 741126987 385509554 981495258 742512020 223652522 933892979 570635406 875206686 332986050 213616686 392862277 260759073 585672584 130454073 813000518 237464663 517696502 682509477 852362181 402564859 638626917 841249323 383477049 379278354 585610168 934650271 916015861 840875661 182124810 759250781 443375598 555661166 782739444 322695295 468633739 614900612 540252918 983704517 600673451 439436653 259439795 959893520 820703216 494590118 474656989 942084133 381162868 772047278 945102648 596264290 609429693 183485984 237294631 713211960 342362735 275079670 738442966 155150428 516742902 795313709 240766721 277571844 685102705 830769774 164637329 342520597 223967718 781293759 972004171 499334448 823157695 882498421 351389644 203995972 133779219 380528474 409111151 895633647 637402848 250022002 228782822 976755088 673803678 546158476 904902494 128437925 480968861 885302410 391652731 462222244 405773651 263826290 791177441 534797449 394574957 870148897 683322103 997982415 302325803 548324551 677904729 541646987 640826554 915661952 517620986 429547818 980192697 775876041 169417949 889763591 808922538 598961818 205119872 792061499 792289298 348659715 253090358 950765359 517210122 467954456 997370720 664757476 280563829 205547700 577904776 774415748 614578217 648038213 794879107 669957345 519832788 598741491 950901380 783646365 943715863 261544671 667150103 979395451 234688336 807444267 399985631 798931840 373273830 647131291 798710818 935008427 509005728 550187856 449209153 501742005 912488343 838434300 402096679 620560231 156321758 742990257 129016487 440559308 678174663 884516115 405181570 193150072 294117686 329893984 144507372 377298269 678946454 557530430 403350459 998575897 715745964 158108628 198351432 146791923 509210394 653336349 140124809 701831994 135553266 181479810 835363493 771373355 636487514 430844319 636630889 672016800 788972382 149060401 472103689 192226647 128268157 357187596 761394682 754553486 705452861 615677032 599268165 936372654 193544367 708609496 379072771 276334151 240853886 943943581 358317484 948068011 432566453 819073788 591268498 535042687 158706753 994003609 535961878 565776654 512107074 401674352 581022477 920799161 778214901 585147272 383664759 816553094 495436320 752227765 972824739 651594226 205563248 727540910 229844104 953664320 713091293 438092745 312104696 549932586 237366479 167449429 974978283 833106478 779682685 121135566 836455913 189271371 728435331 617556443 274381620 551955448 183710265 962021805 628512183 591076042 967601438 775795186 133780465 294185135 716293339 101305332 655127988 161122783 601551347 915840468 600700191 730709494 631939495 771473630 281799753 569553636 321838012 733047597 171932745 547865209 505678356 171053540 288369227 404777572 727989215 326932836 758010520 238127017 290352306 191789522 866027694 680532777 555381895 278091543 759181518 600108178 582328343 932653558 339891799 167290732 192347160 685101536 807806657 854717311 187932613 832885645 944464952 752885190 270546507 463875976 642366372 181641138 115549286 528675990 536489293 117863641 925864767 550675504 235622358 516119239 674362475 264495507 262940550 268948811 248462521 941690071 700136470 883015956 357442493 228473969 370095811 114339641 792867427 744348241 274808961 106154705 240177489 104526978 240504022 856957344 544194001 256442797 480192935 111528201 301221752 669399582 974012956 419634311 877290078 328027502 166971044 842047427 132063764 290563980 508445809 836643614 832540206 225870782 264656414 710329597 682219211 616341044 575467720 753783411 510377826 996364483 457236887 417126451 614394439 282784255 853996362 599078218 124304505 543918918 730376337 111593435 565616888 604679959 845457871 489296209 519627688 432431814 397165594 846613573 713492111 863468487 944609749 171152831 753979101 868802925 584687993 118473851 179871321 115015983 368770149 108088327 590783897 375954975 482865849 140599737 789928770 826488703 307773993 627844989 662361587 525977547 969296324 102439700 148536108 663635601 662788168 195933600 860241944 762232561 575488299 991722719 410623194 518093652 175033175 389127516 515081032 398469154 505930525 631906892 687199356 737818162 131670745 978319974 665523228 383021203 238450182 650148952 314079079 404077540 144755356 302992312 956916882 742977680 590748191 314915849 528216994 426378345 745232034 296551512 295962189 745523656 147622347 986164304 842442439 956774887 599800498 682545710 420383761 373212135 666537538 106085632 778014501 680701436 332262952 560904873 621118556 544882940 987675423 551165430 151978447 722445549 966038468 188911871 508486620 586776052 417330479 247089838 321983108 944299525 495073659 687452328 853278066 574287655 131830636 928332965 317559376 911113462 316832123 660016283 524636159 339953946 165977337 207336930 332080379 560505145 423379208 682441801 822807771 102435810 378748660 382082138 734949142 869899468 591278141 305784446 714135955 605932550 948838030 245057876 196008565 764537631 439471665 350327799 630311223 388664691 190226839 871133909 740611037 617617062 623084473 279793746 191440086 223589857 765067930 661581850 636027486 266598901 490756863 325326292 436801790 177854917 406165302 461261284 617794200 314741264 715806917 343302357 249916708 775434772 836419871 369910896 134147580 689423057 784119364 757138717 556315726 274337833 537528151 638714441 670193007 264067338 574438154 817448190 472247542 743322062 850154281 834655752 665913188 108472779 927290898 564141336 688794123 646479999 927638612 351787468 782960826 495140920 455465270 174571724 641391227 467777545 862792548 462342508 615125103 186573866 115527754 842196184 421306156 489763341 819736741 460724201 862492630 899985158 859733579 869786915 867003387 742387175 460684471 732562205 251283184 154938999 376893366 906452072 134312258 645606457 985532739 643234863 678804202 493659223 712684886 657768642 790261433 446747963 597747066 893314786 800017300 577810553 492669254 488013515 202607250 665135417 742197620 503041739 424214790 276064084 139802064 431486715 402693611 357094734 364654925 444186428 853048202 152628933 748381046 872113181 883478181 582325703 313699408 153690172 212959231 346148323 690296889 346632742 105357253 191209671 289630203 810015286 571037249 328295251 109725264 941578831 655700230 278840483 960723189 469460822 411547476 819334613 938877775 297812960 219977322 395778727 693120637 288467601 731851925 290807226 301121074 109725762 999277811 519530329 475588471 110694090 695986467 249602129 154062312 371920484 467249145 636559968 768944973 585796603 289545411 347512766 898621043 950606097 284586926 953290585 760427081 261887031 415384159 737341252 118131547 381164141 412199573 465196729 370273962 514849784 748833046 235792650 588765444 763124790 387441957 427945767 909866364 372292026 459557988 795816141 400082885 384472646 591433623 291901992 447896495 121565242 856967002 336524095 284362869 704621860 698887037 998104920 426268991 947521335 808238757 234770987 997351146 735922637 161247374 193672749 531753651 876820332 340927260 993394545 756962920 437813673 376064833 658140399 365772135 345582203 648950522 347140230 728123144 498684139 195600812 879977298 306992988 994895448 805753233 248236893 856550954 148330940 373410606 449281410 515752737 313575089 718299531 457165806 788141358 545529245 821130668 101687680 560859413 416060128 244514669 672426852 586267800 271004527 556360468 544885150 828632514 258919205 620274762 358072210 877200958 406855149 456684206 399704475 579466074 756035965 382707716 301331395 791067025 756829062 333495312 276799865 123612655 478367582 249179658 757196631 666380225 177180798 817406816 169213448 240986845 868179102 451317178 794439791 516217939 111948301 712580882 811737542 576873290 247511299 148892337 411098348 414079823 714973215 959477278 774974588 487472619 415805645 447358096 360312318 551756054 310186771 439769917 936890824 305664479 385100142 924501109 522030541 782533794 183975392 555198887 288827664 427143021 980194067 541385074 640134914 833233110 510204523 600755979 516488678 937381234 103115465 749530482 754587615 999504531 534555849 992465006 805223020 350952359 679107356 439458088 600210756 536551164 428749799 757667200 211082159 277240793 950937161 196853560 733468930 322145563 527889219 489903797 472206371 696757398 393002046 266535659 769611092 659392008 230097319 165891275 812731104 731346995 449219904 824933246 119604428 580102153 904437559 658833850 776618264 311009798 597245226 348166438 754062153 800111903 987635251 907208353 486762816 986642762 162781056 805098725 692560206 728118019 645490278 898402234 900583668 911580878 488328141 522022107 229620966 784521929 917274939 329947487 469693368 868686135 256236336 975184508 896584681 289918731 914432739 502150121 326529337 361280357 370416578 868757313 821799507 512292769 262923109 215516426 886890227 742668775 947210359 898876283 817344598 884087428 580154900 951346196 850549573 644059408 867269208 314901392 331554411 890653623 866624207 240060232 763277895 598565334 612376034 381238749 804476411 646249908 924046204 268944230 519136209 425569000 297274656 699717315 988261323 280055251 562775076 486005330 342866314 406617620 950807152 170295765 909729375 959213889 152464768 561860398 187148994 290762689 159357732 784550348 789340137 255017783 527611821 900334100 721131147 253845729 620290678 996014598 202295395 352280675 393070153 725803544 873842532 256642445 158869114 189363023 135216166 340062240 893407513 979510140 231932650 206675219 972488511 902502977 998178632 910484412 424243715 851594538 578511118 155364754 445197344 454732904 468335957 731860553 281161156 459220957 613609440 866684948 664817041 175597650 728795807 147172741 335595715 834399732 160191176 546441730 228673310 767817572 519835185 699895190 404582170 564547818 482243551 291557499 264314176 468797933 169708946 216711309 865025094 157261680 396636102 507017652 263625321 283962995 208858506 182981238 671260166 434280456 632221338 338216037 777420741 724590756 960944196 599464583 317614528 592642097 184113934 374098440 287070446 440923417 802164185 445818708 987676744 309616007 941660053 217732729 306556846 995573178 851737771 551742094 547110556 632268882 778144573 602113798 881266499 451320867 529806561 590569793 992352504 215105360 990309481 523127523 283083852 549825353 591950458 372983172 619238962 902294535 796365789 758409799 294627372 779579565 796908079 694090566 603799282 830421892 149872235 624020950 824334203 688873458 710330022 484331976 727961279 757562048 358436554 390331723 280668013 292820915 252163320 981886097 846934687 145065865 300667251 757833490 472059564 283203236 938589009 845856469 506691263 379106885 219862012 591859833 265116501 253566604 152854073 507589154 337667434 346503138 752936469 395930965 513832014 269515472 274308996 750627526 668840890 275830496 189003305 918922614 237640428 511665311 805651590 402562002 642186914 876141405 223139008 788114447 699464563 669533789 906409816 595829741 367359384 813120991 472484331 735733818 119761846 772081375 103830392 159189753 301662381 101292364 823446632 475139325 474106354 580996613 132776731 472967447 703311128 236378219 805712153 158958949 216326555 774699568 203488361 219248426 848019122 482485235 275187514 621724719 341209327 450217140 780060086 831998508 684163815 362878195 273461459 844522915 717998414 497735942 879528273 834773769 131970594 637389012 837087882 965336176 611175015 900177394 206420649 639776633 512437120 483684663 901550183 266560234 136504585 565682346 582312737 306812956 256471987 304365107 908964189 521109127 234578418 496824677 687292740 967027581 360897391 458364756 325087870 662518517 717199838 884437237 199521493 920288644 345342551 399524839 516868352 608332014 510907119 409235010 746236484 377071712 186294111 577838681 382842801 952579283 868629482 932893845 401377821 896730218 495948509 776099742 812160523 552125365 634232829 329284922 753610247 635265777 414821601 634377950 752055103 531916207 472792632 378189262 212760111 736155903 561223755 527311607 880956561 430614099 595065639 984114586 418829981 392677250 822058097 698923678 968784991 311254010 412404092 322247331 363927194 247279993 150702736 954075641 145919727 248520649 179533211 328130655 160514158 728910279 477569086 117170797 608782965 361591526 289021476 103775296 586906675 423128511 424010721 921775051 347754516 389606352 238765157 998779322 496177470 966759061 805293977 618703859 847687303 734461865 958071470 211755629 569790381 348821912 706470164 640853425 923655951 952866870 652820418 692220229 884225091 513466322 840067886 389216977 554329201 515377878 601310313 785386163 769961642 184109304 714290861 303178375 900834097 438832081 995492403 432966860 501392138 811487940 102986056 323937658 600468099 365984058 828177639 655057474 562748594 580098001 412218979 221670666 959380749 965113389 183591709 701760668 429494946 954949204 758127246 893331367 499355624 269197487 319240407 718930536 622992619 754461333 530864226 199687916 959884259 430780860 318870490 112117285 437643197 614754067 106421262 316780338 663933105 603316889 973743479 631431008 577748091 621294600 298239233 306777698 884128947 836326457 326939561 295056750 659840871 577983317 620569181 789647724 581764019 495509146 132173630 851154358 449984134 765957980 832152212 178830535 706865652 263420312 894990359 246151460 947118926 533480311 794472273 772976972 838720629 179477205 845120670 537369041 185134565 667229236 887494941 313306891 260159209 152820372 937881019 634189138 694925960 335266692 746705091 300449792 814011674 492521124 955683840 933821161 772031102 975207613 557377906 781104256 492258846 681959934 182027645 838377053 323268322 181527949 400818565 319756535 761920302 723726335 978824396 643526612 889396156 619932300 357150891 800198066 700134429 575640165 620703318 200791223 450032904 144713464 294801053 210165176 528578460 131785929 523284590 935305930 914549243 167937432 161417559 872015384 509267838 532673771 698005990 943671476 247632460 804458519 650065147 917331695 672378947 984462939 624197980 256127419 371917933 149505984 174738901 434243410 658060104 410797188 511080470 609399316 319549125 938438176 395132801 779174457 495812348 402960235 395630702 380879855 323731072 994729029 462292170 969830713 867494345 651145507 906157174 507933565 118009990 380958277 363468028 415038044 673980129 437619006 924486643 259162671 137297476 972334071 563514770 616050545 543359960 164576166 895948861 878792191 681937702 713793818 708151358 539221256 251543846 361749047 864212754 463101636 111493798 745133405 575669550 331363708 297409624 621473255 642596690 858939945 787666180 128245196 436794529 265407834 998671834 275049975 129507079 725021530 114313174 414318546 951067633 103448084 572755218 447519843 645224684 923309073 431271392 146678279 858264250 938520672 940122491 966179597 318395613 715053003 297924576 838838391 922022184 811125517 206929786 116842576 811721876 793369277 537590239 544957655 489109558 719090978 265439545 571843343 617431777 219836979 470464150 801809835 750977604 564613097 382760825 547965509 813450075 902756301 558941378 626748026 843952249 322896942 285092094 217135122 764937302 629692373 334895014 838842778 925872904 926531430 271992051 938251042 271724448 489790315 141693624 994052910 840663358 628037633 854601899 974736211 189605951 467242509 115970420 617155681 763276744 656110226 160984995 617800172 163024508 759944913 311557396 962937323 889780059 835148609 805062846 544651075 412503323 463636026 499659244 818662746 948143719 353528034 893479458 862768983 834195620 995336749 618210299 782548764 982534851 745102520 905188695 849642460 897015175 961882032 992423050 478740239 324009085 346925966 351691369 592117187 541413626 221373282 406782365 156655396 558791248 600016329 513856579 441514824 741961512 739512272 839424985 819697315 567548853 920094571 552119267 337319075 123649366 461104288 813823313 352586105 941045269 179178611 832153245 472348492 202528371 299417510 904226038 814762433 148330959 121743391 170797876 422643490 560189324 244004399 476860631 961185549 306519788 824750599 798772225 605647904 296655307 413687940 623864215 385860829 451725342 490978941 873194899 663368608 976401314 739339817 821316001 359968009 312854157 419139263 184691277 634254211 566278053 394667320 192974075 416532106 403655174 142959901 947116743 636554834 116429889 323358900 617026528 315346886 554980052 748024883 354856973 420346768 920224155 452633283 187306556 588374477 848342087 111598215 348493567 521731046 450867976 706395374 550978122 824511717 596045396 241776167 285961803 923352742 242029211 194991215 833216583 983155201 427615221 346551560 688506167 728438791 159316987 317406996 183289356 936221035 220312247 569596519 161969169 868325514 129777800 546768567 761944838 904590088 358508642 392425238 148690278 620826781 207417882 734404363 797104242 742713635 991097306 719440806 545186421 515976352 340427865 931002638 382774983 134595669 681428032 844424575 107186479 589218509 372476685 584508353 578448586 409797680 106177014 872055453 613667369 329332960 920765927 708960657 687831373 973803626 567042879 536965280 421234983 105937668 572550710 526579144 839147234 435446287 443236651 109331457 888507326 828782481 426195676 194974625 427353928 400075641 845726493 304832103 676652125 101668527 157575927 126331788 211895354 412794471 487209555 419463170 611749040 586130804 174278343 749587841 854946383 524926178 556590331 181574502 280327557 990091472 935049086 141215183 122211724 600436091 983742471 876304843 735408764 130979894 774766401 121875296 956847846 367192018 451513171 815467638 632927339 650310761 484843289 759444726 946845902 891236292 769840286 408194612 554329565 356613422 226236763 235877813 285752539 498548384 289044666 578070174 846967979 859009917 390376299 639808576 730389020 446486200 898566695 553446780 146674015 828888651 619835025 164265581 139045347 282759742 608090450 734888123 705488871 787837137 162016212 441233402 669482255 534226269 318388324 971435544 833933754 791200512 195651561 722404353 240033579 418425903 956896851 257609609 139757029 652769114 548096072 703272971 908238460 512582056 330202027 697457760 476746374 297570854 323235602 629520219 815617716 690660421 158451556 189356397 142958963 942350543 787516792 302333720 229950394 555279562 176346708 264427705 319017611 629815666 523168401 442999238 604382909 397619996 257245222 395447741 764547333 898288848 162275209 485915526 901925240 982709628 622242087 191486129 789489023 946362854 905391424 790780183 670862671 934264981 576288213 486935005 591323306 269792411 540355568 551218062 154140288 630416517 288645729 477551700 862474668 478699280 754380015 994330533 783523489 198016211 127320304 567881994 947506573 776997930 215641190 699456733 923063771 111994517 620423565 476453181 747775828 598976354 947766785 591222906 902080416 381462358 905735160 927248072 882017377 593757606 675569827 516342159 195575208 775189978 529073924 429736200 430076140 279031940 627973686 881317566 975424544 588416073 524253810 440970839 702260010 246155009 824848706 945672979 926985833 896530605 231181424 199629615 235109651 703598757 208568427 568211468 422820129 787546720 829007275 645743929 356264487 730003938 821815140 629775345 157983408 782052211 376044474 115567238 339200949 355075604 181928382 658446695 409539841 320256962 708275523 134512235 420314351 514578495 390511351 605099678 722704031 261535670 250232288 285119229 466070208 844393081 520192039 266050857 282480038 245060296 150335406 973057845 507042030 370835203 457498544 206577240 158078585 469464157 767557428 694113602 322576903 527741965 640459679 911240972 238601921 301250822 514794571 445641733 227408616 890754924 332636988 540203815 550453714 616808141 582347866 640172857 542058275 621374622 255322831 671028294 938155095 503664415 947679649 263450292 842954956 235599967 990894275 791198192 877224747 570415163 110293697 792221641 370840863 620094281 722594572 851078968 772553902 997093305 561934120 838323866 295171902 709721692 207009869 838343806 793934629 616265865 455566450 556317205 731197897 130090599 761889200 857120259 310291734 542867684 897752565 902917372 497251254 211681579 294014424 665949139 538489069 607898341 809386305 539083931 916061360 722866841 976788466 963292216 202163974 670976585 938159671 910864226 794442399 938912911 399915430 172302689 870672769 613752249 866201943 799744941 385997624 450459169 594760065 103180179 525819205 902311844 666891060 710564178 504515364 178586230 209889072 363276166 175405741 974889406 525563275 453987068 386741860 713540396 921974435 729148427 962804062 841107197 944316477 693465417 202995507 330654570 928221738 269237253 104726590 791929890 832967624 721782714 327936029 598907843 103780128 802967605 467291714 565767929 666724762 224206705 697240551 807468743 150759090 516492884 818744843 316057299 870792990 991017807 111446791 841588198 829574928 614659492 743692423 494229571 553716614 800990412 469753998 415567287 763574298 912298626 611190432 305743102 786176492 743422808 194216126 171846064 952647293 191298237 930668992 945302016 963976163 867242488 442986886 567844307 149547578 144890588 481100546 984059387 170908679 391509832 175384195 822415312 147452051 391738976 775732785 952483066 406127505 203453597 573292110 568679707 393318899 531236758 241835827 815141705 323766386 988299683 504498247 542793230 432560344 418395258 400070871 109462691 829194929 647072436 466942887 236353962 705347908 205296369 968895598 284820562 920920046 296552796 189905854 318298187 177235968 339830055 903527145 102849348 304667342 891127741 476706521 193070601 770308859 169196321 756794985 349876937 471883469 407932184 823955148 435698118 247347311 622159466 249749168 625184285 482235904 485916790 101903433 767798483 122828882 679084628 986750953 145096420 361156491 696030402 897937138 269553780 167729529 904292821 728646743 434439916 763296673 742380011 697388433 791087037 153248136 841922380 851174341 400761016 866420294 300328197 504015610 296077644 275960342 484291119 659929654 349542819 126621520 783559107 219694268 790806584 129904215 143893448 654872366 321320836 725644676 569324838 587291607 238249305 326263073 780556404 986328182 330813163 559522509 861614553 125463008 590625831 987143729 111867188 315569550 480533418 141140510 346871666 617501492 334866269 877008656 415756846 590865875 390265547 369030534 219069027 545095227 270283284 441098678 705625727 242890049 438452794 753929598 531699834 864280592 566912597 422990199 413216845 212328552 724737702 222977310 572621452 243162318 177093621 407970926 232325174 850612768 449722645 385255952 406113097 995918012 484107225 733777613 961758677 746353189 563782469 740141704 403929734 353615164 863919518 201583676 977853275 379934358 716676606 691780085 204098291 901153687 686187169 303445126 514691948 330889523 529568551 142002992 347379104 295969551 819061582 268868981 991692875 194913712 617746750 408943327 499503774 331640026 859730203 310712775 387927182 481908475 627019516 599373799 956973161 326026261 594777966 561057707 668550993 518644267 103636636 738965074 470316982 645009349 827799303 336176623 638329877 139068282 513038222 111896173 875620048 151948848 916049852 878932257 915341408 833471167 441610709 464966111 541994610 114376594 930062514 523253117 264810274 134535115 650198796 516570673 632693306 231866544 193009317 641742922 862954308 488259245 215509421 894249906 372793448 964786507 641552297 628436715 432741862 605116441 934868168 373689293 620797728 316282541 539629778 282110664 367237053 526717107 896084460 869999932 571208007 426046350 122421254 661741148 241246408 356138300 828473508 489938041 227203421 944815591 800258373 205331518 912948362 532737956 392123740 278735293 197321929 655968169 735358456 902907796 557550154 185761743 425941988 932925838 875379928 989398425 207673939 189765552 272770280 448021394 769645753 720772853 353976233 312919919 459050531 306622560 696656280 140912331 469476910 309122245 746084758 230404037 250538907 293064241 442533456 811045870 670507177 111776101 742474163 251518347 485299268 890882820 185392791 425412697 938736809 537976892 674453518 377300008 342457869 559220736 488179230 345309832 964505050 310806949 559704593 604833117 719899146 512022626 703247548 948341110 372383302 728157426 583977656 852526417 587360219 420217997 803365699 423307182 128460878 237174323 447708328 924584818 619471877 879522398 701370870 992368563 193922546 434871055 616991486 395813896 419297648 563548202 691979931 362645015 867734225 747661656 511477952 304428334 914235677 151590990 209229011 635967539 301461935 734402722 338550396 108069068 197029416 313806680 887255997 273108956 603051096 271080311 422877575 366584764 228775495 996172126 244588744 990467081 704804027 202594802 640299086 681269442 927029309 499112832 570313630 159205029 983865400 370501059 591244174 399433670 702715601 657886751 805321811 386700501 748936798 821462007 700981424 321356704 338498413 304413754 887569141 639773139 341494837 877409773 994191619 400322359 246927719 651690037 416940483 561545400 704991966 777277264 333493639 807566054 672455118 433325911 368043282 120449479 873822551 936315283 550586919 175865306 589576099 640682027 518864748 514043027 802682092 983312069 162140985 712906218 541786653 943313354 439541370 219704143 615067598 737177882 124386074 216565550 533709719 181370914 498283971 130836868 396806078 536714596 906191741 472792381 228756713 171102458 229532738 765830219 806548099 136662045 794952518 559022989 650462123 553888268 920936557 768819541 870300250 844206157 477460912 552785852 426238167 758248186 315428516 925825268 223070615 925718147 196290703 477170283 622031785 486749218 234647634 165240649 183252533 747063286 191474751 726807926 933428774 988242842 617169296 147514272 348710504 149861642 231652583 468156633 134337218 556499175 412773489 410000802 642610429 681895351 635609100 757287067 209359106 457830178 854408747 365734617 780749329 676257580 960539976 534558314 317479200 875320837 485978478 978384783 395470497 506653962 480073280 619080456 326177851 310710044 366514778 836062377 703887753 942191493 962254947 417926365 630091362 743462319 776284604 565588383 101425842 453602464 250801036 174103982 723971739 508929123 970074321 131048681 270555865 246720745 581534667 807300204 321317312 538023867 923687997 804442817 449146909 653149256 107508313 623136271 208074267 808852675 287352277 114468590 441433557 618501719 415460702 990921773 859112596 281009632 253480421 762451708 654325899 738271177 169080918 315714102 923499175 469412841 705946771 171351269 282395436 127396748 944441862 525205564 470371130 933151680 585334281 918644400 917329455 853477724 585898012 989457754 671386380 660381551 149482380 206478190 972890652 693240885 421221049 837919391 766332182 424808584 600119564 895277100 259909344 476911839 263010865 814810398 324354959 278355763 384056051 870295696 586222219 913224885 371686530 470780158 501117793 213434554 486916653 810742513 486392449 385002435 650388281 708338580 276108798 242691346 527961218 394687756 983988341 928251638 242511267 469429715 572085669 252914980 422874886 306803965 712965551 157013627 745262940 504977262 340697824 489882159 159629995 596291530 928094438 462237611 931154093 808868623 572090362 771969262 259705128 649715366 824642833 906526618 698369961 942201533 286408749 648165116 858251553 138348758 464836206 372774460 589781284 325686380 185289734 656382923 448050810 655670771 726290011 910727321 289674459 894629412 536060970 998675737 538750975 859301671 186469563 314343130 413523391 991957390 938861423 104978558 573426194 941309789 295646693 140188479 439739543 967873992 217307441 685358804 103969342 753861003 532305123 117920844 965826930 183740191 164542945 834710451 611930554 896579175 599554939 503107609 100271874 325700268 162036456 896708224 643837013 456424329 929477623 606752172 829201276 377096962 427222863 119335828 637414421 921459474 120976835 134679631 837318925 955923636 295563737 878858236 625930397 981522889 780379237 216518768 176033518 899907074 324368530 310787315 636804365 166790935 691508243 377967930 649801887 823897224 557576550 167726993 575489751 470575792 940293912 353601980 586858137 522718813 387212916 938762223 206322430 280079305 986228396 504976879 724542185 365916039 393912421 357643699 327487915 933728267 311023007 553886551 643777089 112555630 478085667 480220525 463579270 850368188 169018066 537259920 349858396 136810288 950071472 906753832 827199588 152127090 888307876 887372358 977919393 975611320 627137326 352815529 181721395 259166913 891323312 183117540 305164776 166084110 835762348 907651705 176283911 878815673 315178329 950202527 668340043 625741976 654943389 234069338 763861993 580971046 934703614 543812568 826643433 901266335 907355513 970004414 954980869 315209076 797512009 509039636 298915497 234087088 467247001 904857841 287165865 384706196 108477050 621876555 213212824 384870696 719019894 765997997 363482324 682707943 947024594 150306664 994569118 752608366 551056452 360498752 343475519 878179813 122898085 962029393 910498700 114011687 320932138 297141595 271918753 491530524 838250457 964372284 653826069 108969621 630366156 747279688 631012499 506233101 435634415 124585244 468501008 981274507 561398177 172713593 906592162 407832153 744932705 908594432 814605501 943209345 870222878 658175310 281706412 379385766 260607108 707922823 870579114 188552047 720849785 853784492 506491812 752572988 712984238 662686063 545407928 664252124 517180696 898822561 425299366 842734205 756714471 616710803 577669252 918901241 318481561 592132190 922596182 593540998 963462625 923009727 477078241 728736096 500849088 850740517 299520352 649325815 545619031 427318531 612072084 252999483 389472618 790991582 509185153 784742293 515565404 280304030 565096116 672325229 244261086 683502361 484242531 181501933 634204958 472920548 236995834 666954658 478258903 622363680 733528550 478671745 965601035 519212511 554708472 226834073 335810890 766080765 860825976 546897465 421458405 705278742 261746520 480923083 103897556 936993810 817846581 918596949 403007195 352524135 776644203 718581118 437902173 669380480 634153010 408109295 200052356 666152890 386138852 945194512 464816158 971315120 460560082 530437975 588131105 805428807 313967378 826914749 590466009 691134471 573264354 295911707 611681811 324525126 784100387 630660178 171058419 809382459 877397002 111310549 137282397 407724365 167243541 957744311 428708413 626038694 194557028 622740907 502889864 977305262 784960063 464463063 355378148 885990311 469810142 679332143 975334392 985334683 407117737 185757222 978323757 906172395 487194637 794924174 495557568 648074558 939745322 678167841 286765605 651033563 274164603 235566451 840892303 106625571 745059133 714268803 832713250 366104756 772189132 822872496 774113320 668266076 487846073 303840115 216951939 711788619 666082481 212815786 306753957 527654979 505817197 527568699 981008669 707829140 673875525 509366040 209510281 196689768 153604784 268677718 520510588 314377722 728153521 139234314 743248877 462401558 934639691 802614173 741657865 358535982 445942595 985099202 294890613 782739799 167029116 931764924 508619880 977613247 464666401 613675408 761541407 367779317 949345333 673335157 937126943 961236109 875326378 393297335 242482497 690427711 207701906 379394387 617045450 706663700 424623506 453569893 953719541 282319582 996862531 596997572 661471205 646084367 832245670 986973679 519598257 499874303 372159518 549442171 285985878 268788279 486973958 291696163 522159543 923480929 590650036 793586596 407923601 384648068 737940545 506773443 659510937 878418156 737275709 118068575 410280571 767194677 354030650 681984762 881643230 775407355 176671576 279211057 840532209 192706062 433957305 336883301 806399274 672692580 357932949 886074099 684163327 368729311 355226478 656143632 489505374 230658555 846475925 357052820 426613492 264390922 773891796 336872181 516492751 440078323 472039301 523302167 112143716 321177363 897863784 238891247 860904819 415050093 230809472 849084146 430281521 256835181 282858046 762937485 189105498 627463375 434700540 174364100 101641656 831833057 500911687 646234950 830804081 789700427 366672915 957162071 843558214 584433253 355311696 630884661 303066862 238951953 885000869 749126365 764361710 737930492 201159141 216340471 875432788 912154794 856527819 554825338 892903992 664405712 331938777 256839957 326406404 179624374 421708563 955464859 190585160 108525325 786158305 481588393 394005791 530596690 743237242 106816912 494525394 667323362 499280199 768118348 752419572 104519343 551574520 180853711 926216456 930854030 392085813 251960470 877915210 543998225 751516389 544195234 922404954 953408971 245985137 847605898 752774839 459142108 740347912 293263715 316361731 110363412 721909188 989939982 878088579 128380894 805232463 385749939 460237511 992492835 513532664 774536476 460859092 930227728 690614043 872737854 673621845 762556061 965628901 262643467 966450228 331320844 218176057 516181447 804997491 908932038 628745824 707073890 812148835 883795788 264639258 770368460 704027205 378521712 431935276 210297840 393198504 224051113 930485503 924508007 912122652 643428850 154008705 501118340 916648921 964640491 772370942 827394051 478294258 891318948 510585356 748915509 440115022 256283646 758427576 767488413 116217732 342217935 667773740 510104332 348095442 703941808 805619677 219868502 188514910 967500420 134577217 241238533 933707128 162420457 811513966 814201293 200956513 539496483 392591418 799716948 201729727 923739962 384342339 185786869 412311064 900286683 624269121 787536344 708567061 698851516 585018056 640005322 518442444 755174085 541812864 844298373 914507695 587764360 329253861 896883359 590213207 912408594 336606168 629689524 105400788 669323206 179565791 349400135 123192898 868040315 218847530 917343154 283322919 184077471 596589657 945011006 401291867 753969034 559987198 661481498 318896706 559056554 163902324 773431703 497539751 119028216 978459331 713633963 748768957 570723243 828377651 693324335 917859798 729771823 498664733 233974242 360133173 696399390 752693918 899102323 635872319 281704009 337236646 616214631 802932087 654742415 796187709 888612715 968492435 837521749 486035589 762158677 418354702 263911413 903140372 580286579 449218252 741169892 724318486 398162481 518127741 198165125 551123559 863223416 292966456 359202860 369838320 878468645 789686997 151005691 178124910 765553786 228810926 622744702 502977300 437394856 587251676 137938379 270772854 303168063 627144545 953961264 779195988 510150144 321117048 460579437 830956562 417561822 538086769 715511508 658097825 768159098 301724917 842197419 302334311 728255259 892248781 378581183 876358278 773253267 253115670 972022007 653868032 538915199 148094637 813418505 591714964 589443271 344955659 443214721 811593284 686949007 709801197 652176930 212824895 297762860 628373131 567479304 505494153 865561463 485582843 258307849 296818736 149578339 636619131 371840764 594397409 614334061 722826895 311597727 914709014 517195509 888734967 485374782 295144340 378968026 892982714 763994212 610950799 122945416 222972646 382168590 463308113 564922247 503692640 538517613 854279959 439141382 738905080 280275103 284011646 822817225 899185646 958544527 494537543 480843805 660278571 210613470 932834303 314396701 943321812 336699186 337576614 779618211 656634870 973985139 165711787 238759146 870047029 812739657 484081553 887342814 197416123 255512115 136000013 550120083 677793390 242410570 649079446 594266560 592438081 300095630 486517199 511715396 601055029 392047299 141246349 665583290 322857329 212819778 354691854 158848166 363870275 767191007 331885276 680972910 671627803 482893068 638059044 995530918 800966793 457619064 319565785 372512335 656225664 291965739 850667835 171459201 615046911 472039864 134252433 477604211 601875098 215087149 468795127 474515432 140145458 951290786 457664432 263821739 376605567 320031225 144776656 718157470 914516356 346563460 971795153 912392403 555000172 795862281 429037070 620109075 970809389 380732387 310510793 859460313 607196142 164041752 777605338 122291590 912268240 600644460 132913097 664628005 692817031 640277496 784515795 975146677 213534169 562262305 137576744 345542096 200965805 274981561 308549224 986921301 614204312 508813205 689328391 266386319 588417152 147017004 759227223 153952895 849820153 609105848 828176650 480031887 454760512 678090447 210233336 209179896 611642432 438397835 745578712 499741905 581917543 547976029 576536216 287062905 842103572 883248613 467439444 917556106 208184285 683807053 608838548 284181753 855094041 499758630 428192706 131257569 818002166 980070525 217666008 609188242 726156192 578289876 540214063 398250263 340592960 815973426 598373659 997693815 547922413 904334183 908689252 498873405 788485157 587856301 990063265 652776525 408070607 677508423 159379212 202954941 775063983 945865249 999677171 211778048 361039628 645148635 683385444 222524153 239263652 766896045 150306373 154520590 551736643 199285421 928982564 781715497 879681120 463991011 842661023 153874547 982582453 858792072 596717036 196177752 237275392 752235569 839993291 453161674 816396750 427983002 264663008 528920902 483455532 360166596 650572642 305162906 220375150 469223464 698033337 236248209 191458528 631077372 132430194 108334000 943954515 598979207 159012377 163494519 146672490 645593215 988658391 548145511 879732369 279924471 163310024 571068487 560753682 718665980 988020648 495228453 364891296 632377717 913209999 908456223 427572928 707521149 554730163 141355109 851005332 548451593 158051588 497933637 570813842 224316754 323083167 701718794 871062381 355249763 398775937 685225030 434455176 176196917 151913982 294820566 346883101 768601186 405794808 685582481 841046110 523700112 854545451 882628581 413309104 997015556 463914288 662697505 345145270 354592497 771974973 100170702 611857945 979790900 355611403 575521419 845469973 990596630 942869400 120794547 597698699 447817506 684696436 776104501 146263247 309991386 409698961 968834658 698040980 153635228 383811386 127334329 128126174 115575011 170967958 779745978 991858818 906306243 135293988 246459005 486050182 708602733 799745179 699716783 157083331 654905798 892761424 903473094 988805682 366271113 414391248 487590412 234595654 765909034 396422394 719633086 650050493 740399242 837332412 885164316 171211114 378133810 814838141 512755499 736022262 359798000 514481689 507061196 673808790 597195162 906490439 744934628 535678328 100429832 958653500 750688626 300687897 995854468 341763904 938782271 463037364 161282095 287815462 999236758 116679414 443560179 728900794 454257981 755048763 181384696 305023792 887263405 800409391 373603252 655219962 178895903 560178685 696037695 813072570 981935193 974279291 884540648 722027498 813236273 265714197 633454181 509223368 833649679 310591035 893727623 571978340 382403076 967614797 472392625 106825958 341796257 236854120 722712174 232073275 764176821 608404242 386942291 990414787 789253811 181259375 316929439 209688285 325023360 285729417 558458547 969044072 469405611 280209076 411402937 755957786 147483396 555599253 467858511 499844027 951050491 608138184 200044944 148979407 734059104 653842368 951682575 695031373 175198806 631512532 929602089 897643131 888146090 804309732 524617912 522816466 768667666 508878424 259116297 199946118 975753444 471110079 876049501 951672761 427277030 777065655 263629813 501496415 791767423 339006248 226458246 155965403 633978723 141300677 739504070 434276197 195020936 292679425 303436707 789820217 382750462 280194126 180121515 522033692 790879916 169749778 798128874 546903963 102402766 108550396 199265739 523788929 454047752 173807477 583996185 724940410 637512645 839276422 934140619 556500626 708138233 930783974 526673500 704092220 403040941 936040422 150601042 839862013 710194647 791262863 612728071 469002665 122319294 653865934 304255910 127658044 157109764 770977928 817753585 180849194 677317444 381820447 267672351 564023399 815627408 904878401 917075506 842944066 202477329 884856988 932030295 349158207 464917644 647819131 162298938 588420608 689107688 749406339 216132455 648890161 223604089 658806114 746235713 400966402 849478228 150258487 953344628 644428866 844431780 975578212 165590986 597114513 515294838 234790059 897802496 771648792 542174214 721748401 999317610 279529521 643755381 956126293 512350667 480450942 373735133 185581946 871153636 435542775 538763412 706527155 372516585 338026651 205730680 502165174 975346470 485313466 771445410 514228595 997078530 390417066 851754046 542641720 840814109 988749497 196280871 240512521 669476725 951092064 136585558 123817976 523782248 619871234 508907889 395668328 497657588 655978803 198797873 182425683 238184331 226991803 500925655 162670192 661152597 773311840 160525332 555682910 126573534 798709618 446166574 582811313 715213005 620787685 190695374 880997936 189573621 462528197 232572542 614583189 125040200 232498086 883978462 188277539 524844425 994689614 741574130 372790525 267458494 119183706 348183180 172071776 459983934 259917180 977661415 732823763 642424993 820546354 366743292 604296311 909763017 991706709 578517931 773008776 567024348 972681199 783225241 391719241 740213407 340923790 392582129 158130353 642391956 229146191 377589626 492501164 821539243 473454954 830491457 738152080 636743361 509162979 433884540 946007992 383572630 873608984 848789806 414597363 779259919 837223091 265174642 647883524 467686786 353242987 275574047 225639614 405531298 399976500 269394600 736767074 770780753 964585010 449235713 361323576 323237253 297297288 654167053 637418451 827731535 766784460 535405381 264971068 881486944 416302137 222393486 596257536 986041948 862501352 112982411 892291117 286707967 731383500 839891412 418135835 940680547 945825772 121477347 654445509 680700477 855679359 940653675 668354533 120979743 221375693 521490527 909933031 218444786 247867141 528832438 110995668 811484052 210306985 500411608 687728920 906288593 958739286 753658236 128930037 795106392 607280487 308535791 381828167 166752799 886123519 429538548 255347813 444953036 468075538 508745010 187186087 156699787 179390176 348031663 242582136 416243805 305136234 243690041 897001893 408988138 970595634 986281476 470897057 419122665 900908618 905478555 767438010 869148263 974806253 317654830 425641587 657856361 672063765 229236231 284048142 856691384 180044915 427509309 176818929 813163625 714722735 801072195 308887048 830650874 190206749 871409723 479722913 292132200 757443571 828836167 259951342 968810136 471332481 441536034 911895616 846948165 698627912 939078826 892739491 829701724 151444094 519089046 843447486 527660218 547474512 923045192 805678559 941810930 755198870 875859918 526900767 798720781 383720009 154922925 661947147 880904491 486535642 509149237 952345218 692036470 588012324 246008905 757849715 556655446 607097638 580467973 139195214 479772843 670034521 407449209 789362191 310051255 785622252 739972479 808836234 913135769 655985175 501406823 265233567 379431314 798378714 732534181 821715006 601987778 689365263 209874546 599002856 469869115 910378083 625654569 791341090 767893281 907968760 101491194 796451232 906476167 159322202 491081298 800540370 740024283 281162079 419288419 172373264 402290297 547256779 326832964 147930582 956466814 526812370 210015351 399336121 818892914 740462326 635386670 563622257 188576218 722872310 212963118 720265157 352750882 466069613 872400138 464709894 565170432 742841539 569691623 792645221 601411771 579423138 439991171 666571912 990703581 646645777 407737535 521134361 274700583 809607526 200585899 476551880 897921647 927526662 219094828 996534784 553517088 407858013 399675647 371191330 678321930 725581660 966388524 958958135 288546251 888495630 796334574 939395356 339404055 701136698 314979838 453851069 987080053 806612318 238308286 832291614 859674993 906454052 944170933 660645454 240495020 835081720 704586057 938208355 394880171 548286793 631773162 644613798 990993161 558278432 359200896 407940467 924796722 974345326 997880472 820933964 207694549 223049260 441126356 377921848 545867932 150098580 677619656 181526553 732737140 349149101 128155866 649745800 150688725 243205891 659450487 779517208 979938671 547516833 470307592 871274101 745641834 120352190 668226090 916083662 207993931 489170280 648725958 785241708 449273880 316754125 353869534 246150519 407146783 575994266 843978026 330876576 812717677 703689431 564205658 684688686 869005748 867646654 403187600 983746703 620098007 996132337 360371527 786500658 509441033 537666107 803379338 794649432 589424971 340129975 700317819 235549970 858268786 213023651 982246275 260040145 445054071 224325385 744240720 945908678 632013245 408794807 328707766 870676182 205424448 605284387 170826111 281143853 185089876 442706294 422645863 986020302 785127363 488808602 407900856 271475761 129666297 297597433 301215917 277694381 809317677 722988486 554395935 185783715 461285617 231675836 324619781 204807520 583512777 466888848 729646068 931379156 556637263 424533033 563405012 628716559 940629698 313749712 708379130 726456193 743240881 243951410 389240304 207157824 256775211 917979471 153027306 810828271 917887808 428833906 994861726 251025159 557790092 838572259 670369356 390637153 274269248 363571783 940365029 441693002 999398428 680944562 960499284 825703703 252347242 260659455 648129921 431794490 968054685 219886857 696265571 911347578 930605734 476328420 808949339 390921856 501962034 364990728 542917819 572629594 352459295 126353555 709638227 488092474 384082585 851795629 112190968 262101999 948745736 334368581 826886835 753187337 776399604 237768890 835195150 822690763 680874023 788607305 681431839 930716571 260294752 773498588 528038930 775118973 186513026 721976290 436701630 800093405 710558863 145455951 478800192 949931726 976452994 493386623 162419792 857863669 164024513 555502676 522728604 660816274 751328498 983616189 356761802 721655742 426207899 163346676 801120680 518321264 324119439 477449723 970557294 497240270 276876200 364254691 615075923 167794029 434539796 596243506 878440101 303090278 615272932 638540593 944627680 975985095 345016225 616829780 561439604 980788606 254487308 143136982 805952780 179177183 678099585 313897699 650023081 493183151 534926522 125881859 765956136 590400840 643924116 235399801 652225191 851103466 242083783 397228453 812690940 760463959 472567720 967847380 169377354 772649759 581184686 130393494 765787467 370730265 314245111 749469469 972920345 694301744 925957751 632960175 943779568 718847449 369537371 640149418 301375193 435658551 481291763 926636442 802615821 548993898 912939086 296353125 743545365 315878110 702782317 705438519 801036446 676409142 912637166 255978405 316770248 717813415 311261537 149289408 719114332 878524298 803190401 771123718 858109912 683973874 966591912 281809078 413559359 796376708 118662563 641932474 127664651 368871163 912551610 329703632 561275332 990562898 169333450 573731426 340285258 592496704 545402776 685572597 677468368 486695285 847741194 488066210 702513127 612456625 406801686 770278748 588467770 301435684 170010733 370039756 289512964 631915221 371395410 507313412 855695712 342041232 245731653 229375554 329597512 306770421 199917031 603999629 721984419 922413149 220977928 653260389 387193076 424068311 470064592 718217044 159955016 947530294 953274684 861206061 703503378 757442213 445506144 935958203 758921297 215215860 569671993 738161725 136773826 530550863 719112959 805205745 123708051 574443356 205180365 933429994 803155305 787911557 945363080 825495528 907519955 430727655 572234447 977081618 723559694 573235181 805982354 539635261 741458996 486898074 972856098 272383587 927983722 445304150 562779625 265050140 828901929 286392944 852609090 305233064 751886050 108138480 381190052 369161514 745992084 763296509 937808594 790840272 342023149 549114385 107709637 593319333 356479033 351231515 717248560 636081548 354268040 818010744 447183169 259342255 463077813 257462428 673656501 770284764 465278293 254875630 553863043 744456867 721002137 660702023 682091587 186392161 368272091 437062175 248684828 810863496 106904475 643183241 855314825 187103877 208671959 306308033 569088803 179183603 927645917 341433741 764837674 683096600 674874777 257054294 548231426 464357475 897518973 562359461 514745519 480039027 328370200 323383170 590812255 484758425 358540963 664631871 278251919 575564174 964282647 336564356 714065366 563917969 920966363 222460364 101720760 413900581 780601033 782823296 472992409 177990187 335101650 836542938 696903903 758991156 639905163 270629421 459120427 857359101 883880276 304171829 240027004 120903370 525769293 813910288 502498875 463419667 561205792 996232922 196292414 205122946 930456057 360459835 330695478 222946956 224362853 441208291 290233686 792270862 753994196 157286590 543543666 511614091 243251829 286507594 379327243 399205980 345295373 717293180 474078751 490783734 741725435 139437501 354372216 105492511 397854453 840994660 222610996 434921613 489837824 895642012 419737533 330697319 903647115 172326487 263610032 708345789 255381804 853770071 563944856 180122355 805786753 883049448 430855590 344905998 611652228 117690704 616548268 346738925 994786017 586789950 584735996 365068417 769056019 473744113 916904886 712418519 443751757 859425205 321228275 713925421 483161241 203316409 946428119 928439688 886514922 261935693 469957304 614615035 315268177 123132244 603598673 632538605 959437637 839912630 534509622 962034397 822233670 136959287 144608667 564452295 770719638 734724086 812206995 622416595 735430509 844155783 976423841 953423371 554644909 770811466
